

이전 실습을 통해 Docker에 Node.js로 구축한 백엔드 서버를 이미지로 만들어 서버에 베포 했습니다.
하지만, 코드가 수정됬을 때, 자동으로 합쳐지고, 다시 베포되는 과정이 아직 불편하기에,
이를 자동으로 해주는 Jenkins를 구현해보겠습니다.
(1)
/home/ubuntu

sudo docker pull jenkins/jenkins
Docker Hub에는 Jenkins 이미지가 저장되어 있어서, pull 명령어를 통해 가져와 설치 할 수 있습니다.
docker run -d -p 8080:8080 -v /home/jenkins:/var/jenkins_home --name jm_jenkins -v /var/run/docker.sock:/var/run/docker.sock -u root jenkins/jenkins

인바운드 규칙에서 8080 포트를 열어주고
Docker run으로 구동시켜주면

이렇게 내 서버에 Junkins가 8080포트에서 돌아가고 있는걸 볼 수 있습니다.
이때 처음으로 입력할 비밀번호는 Docker 실행 시 Log에 찍히게 됩니다.

docker ps -a
// jenkins 컨테이너 ID 확인 후
docker logs [ 컨테이너 ID ]

위 코드로 logs를 조회 후, 쭉내리다 보면 저렇게 비밀번호가 나오게 됩니다.




순서대로 진행하다보면 위 Admin 계정 생성이 나오는데,
계정 만들어 주시고 잘 기억해주세요.

이런 페이지가 나오면 성공적으로 서버에 젠킨스를 설치 하신겁니다.
(2)
젠킨스 컨테이너에는 현재 Docker가 설치되어 있지 않기 때문에,
CI/CD를 위해 예약을 걸어놔도, Docker코드를 실행시킬수가 없습니다.

docker exec -it [컨테이너 ID] /bin/bash // 젠킨스 서버에 터미널 접속
// docker 압축 파일 설치
curl -fsSLO https://get.docker.com/builds/Linux/x86_64/docker-17.04.0-ce.tgz
// 압축 해제
tar xzvf docker-17.04.0-ce.tgz
...
// 압축 해제한 파일 local로 옮겨 Global로 사용하기
mv docker/docker /usr/local/bin
// 압축 파일 삭제(용량 차지하니까 삭제해줍시다.)
// rm -r docker docker-17.04.0-ce.tgz



cd /home // home폴더로 이동
// git에 접근할 계정 정보 환경변수로 설정
git config --global credential.helper cache
git clone [ git repository 주소 ]
git pull
Username은 github 아이디를 입력해주시고,
Password는 Github에서 제공하는 Personal Access Token을 넣어주면 됩니다.

docker login
도커 또한 사용해야하기 때문에, Docker Hub에서 계정을 만들어 로그인해주세요.
cd /home/[Git Repository 파일 명]
git pull
docker rm -f [ 실행중인 docker 명 ] || true
docker run -d --rm -p 3000:3000 -p --name [실행 시킬 도커 명] [도커 이미지 이름]
'DevOps > CI_CD' 카테고리의 다른 글
DevOps) CI/CD 구현하기 AWS RDS MySQL와 Node.js 연동하기 후 도커 이미지 만들기 (9) (0) | 2022.04.15 |
---|---|
DevOps) CI/CD 구현하기 AWS RDS로 MYSQL 구축하기 (8) (0) | 2022.04.14 |
DevOps) CI/CD 구현하기 Docker에 MySQL 설치하기 (7) (0) | 2022.04.14 |
DevOps) CI/CD 구현하기 Docker에 Node 설치 (6) (0) | 2022.04.14 |
DevOps) CI/CD 구현하기 우분투에 Docker(도커) 설치 (5) (0) | 2022.04.14 |
댓글