강의 출처 : 동빈나님 유튜브 강의 링크
도커(Docker) 활용 및 배포 자동화 실전 초급 ⑩ Jenkins를 이용해 Docker 프로젝트 빌드해보기
배포 자동화 툴
docker pull jenkins/jenkins:lts //최신버전
jenkins도 하나의 컨테이너 형태로 띄울 것임.
jenkins 구동 :
docker run -d -p 8080:8080 -v /home/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -u root jenkins/jenkins
실행과 동시에 비밀번호가 출력된다.
8080 포트로 실행하였고, aws 보안그룹에서 8080 인바운드 규칙을 추가해준다.
docker logs <container id>
jenkins 로그인 후 플러그인 설치 (5~10분 소요)
~~ 왜인지 모르겠지만 모든 플러그인 설치에 실패하였다. ~~
=> jenkins repository를 변경하고 나서는 성공적으로 설치되었다.
jenkins 관리자 계성 생성
배포 작업 생성
새 작업 > freestyle > Build 탭 > Command 작성 > 저장 > Build Now
docker pull tn841/docker-practice
docker run -p 80:80 -v /home/Docker-Practice/Project:/var/www/html tn841/docker-practice
jenkins 콘솔 로그 확인
: docker 가 없다는 오류메시지가 뜬다. > Jenkins Cotainer에는 Docker가 설치되어 있지 않다.
jenkins Container에 접속하여 Docker를 설치 해준다.
docker exec -it <container id> /bin/bash
curl -fsSLO https://get.docker.com/builds/Linux/x86_64/docker-17.04.0-ce.tgz
tar -xvf docker-17.04.0
mv docker/docker /usr/local/bin
docker 설치 후 login과정에서 아래와 같은 오류 메시지가 출력 된다.
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the dockerdaemon running?
dockerdaemon이 실행 되어 있지 않다는 것인데, dockerd로 실행해보았으나 dockerd도 없고 systemctl도 안되고 아무것도 안되서 jenkins container를 다시 설치 해보기로 하였다.
강의영상에 있는 jenkins docker repository는 구버전이며 공식 repository가 아래와 같이 변경되었다고한다.
docker pull jenkins/jenkins:lts
다시 docker login부터 실습.
github repository clone
cd /home
git clone https://github.com/tn841/Docker-Practice
jenkins 사이트로 돌아와서 다시 build한다.
: 빨간색 progress bar가 채워지며 build가 수행되고 있음을 볼 수 있다.
80포트로 접속하면 docker-practice 프로젝트가 뜬다.