Study/Udemy - Jenkins 자동화
Jenkins로 NodeJs 애플리케이션 Docker 배포
코딩콩
2023. 8. 7. 00:07
* 아래 강의 학습 중📚
Udemy - DevOps 학습: 파이프라인 및 Docker를 이용한 Jenkins 와의 CI/CD
환경
jenkins 2.401.3
TODO
Jenkins로 NodeJS 애플리케이션 도커 이미지화 해서 도커 허브에 올리기
Jenkins에 Docker 플러그인 설치
docker 이미지 생성과 배포를 위한 플러그인
새로운 jenkins docker 띄우기
강사 제공 새로운 젠킨스 도커 -> https://github.com/wardviaene/jenkins-docker
Dockerfile
FROM jenkins/jenkins:lts
USER root
RUN mkdir -p /tmp/download && \
curl -L https://download.docker.com/linux/static/stable/x86_64/docker-18.03.1-ce.tgz | tar -xz -C /tmp/download && \
rm -rf /tmp/download/docker/dockerd && \
mv /tmp/download/docker/docker* /usr/local/bin/ && \
rm -rf /tmp/download && \
groupadd -g 999 docker && \
usermod -aG staff,docker jenkins
USER jenkins
jenkins 컨테이너 안에 도커 클라이트를 설치하고 docker 그룹을 추가하겠다는 내용의 파일
# 강사 제공 jenkins docker pull
git clone https://github.com/wardviaene/jenkins-docker.git
cd jenkins-docker
docker build -t jenkins-docker .
# 기존 젠킨스 중지
docker stop jenkins
docker rm jenkins
# 젠킨스 도커 실행
docker run -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock -d --name jenkins jenkins-docker
기존 젠킨스 컨테이너와 다른 점은 jenkins 컨테이너 안에 도커 클라이언트를 설치해서 우분투 서버에서 실행되는 도커와 통신이 가능한 도커가 되는 것이다.
따라서 jenkins shell에서 docker ps를 하면 지금 우분투 서버에서 실행 중인 jenkins docker가 실행 중인 것으로 나온다. (신기하네~)
이부분 부연설명 -> https://velog.io/@donggu/%EB%8F%84%EC%BB%A4-Docker-in-Docker
job에 docker 배포 추가
registry credential에 username/pw 추가했다.
우분투 서버에서 Docker pull 받아서 실행해보기
docker pull {사용자이름}/docker-nodejs-demo
docker run -p 3000:3000 -d --name my-nodejs-app {사용자이름}/docker-nodejs-demo
다음 강의는 이 과정들을 UI가 아닌 코드로 구성하는 법을 배운다!