전 포스팅에서 이어서 진행한다.
https://cwpack0730.tistory.com/77
이전 jenkins pipeline에서 사진-8 github project란에 레포지토리 주소를 입력하였다.
Dockerfile
FROM python:3.8-slim
COPY . /app
RUN pip install flask
RUN pip install Flask Jinja2
# Dockerfile 내에서 Python 3 설치
RUN apt-get update && \
apt-get install -y python3 python3-pip
WORKDIR /app
EXPOSE 9730
CMD ["python3", "main.py"]
python slim 이미지에 데이터를 /app 으로 복사하고 실행을 위한 패키지들을 설치한다.
Docker-compose
version: '3'
services:
app:
build: .
image: cwpack/cw-cicd-test
production:
image: cwpack/cw-cicd-test:latest
command: python3 main.py
ports:
- "9730:9730"
지정한 이미지를 python 명령으로 9730 포트로 실행시킨다.
빌드 & 배포
이제 파이프라인 구성이 완료되었다.
테스트를 위해 좌측 Status 목록에서 ‘지금 빌드’를 클릭한다.
오류가 발생했다. 로그를 확인하니 Build and Push stage가 작동되지 않은것같다.
docker bulid 관련 플러그인이 없어 발생한것으로 보인다.
jenkins dashbord → jenkins 관리 → Plugins 로 이동하여 Docker 관련 플러그인을 설치한다.
이후 다시 빌드하니 정상적으로 동작한 것을 확인할 수 있다.
서비스를 확인해보도록 하겠다.
dockerhub로 이미지가 잘 올라와있다.
jenkins 서버에 컨테이너도 정상적으로 동작하고 있다.
웹으로 접속하여 서비스 상태를 확인한다.
정상적으로 동작하는것을 확인할 수 있다.
이렇게 jenkins를 구축하여 github → jenkins server → dockerhub 로 빌드 및 서비스 컨테이너 실행까지 진행해보았다.
사실 이 정도는 매우 기초적인 부분에 불가하며, jenkins 뿐만이 아닌 여러 많은 CI/CD 툴들이 있기 때문에 jenkins의 기본적인 설정 및 작동 방식 파악에 초점을 두고 실습을 진행하였다.
이렇게 jenkins를 통해 CICD 입문을 진행해보았는데, 처음 사용해봐서 그런지 시행착오가 많았다...
(빌드, 배포만 100번씩 함..)
그래도 이번에 진행한 내용으로 3tier 아키텍처 구축 프로젝트를 진행할 때 많은 도움이 될 것 같아 의미있었다고 생각한다.
'CICD > Jenkins_젠킨스' 카테고리의 다른 글
[CICD] pipeline 생성 및 github/dockerhub 연동(2) (0) | 2023.08.23 |
---|---|
[CICD] jenkins 개념 및 설치(Container)(1) (0) | 2023.08.18 |