Docker & AWS & Jenkins 10

김수민·2020년 4월 19일
0

강의 출처 : 동빈나님 유튜브 강의 링크

도커(Docker) 활용 및 배포 자동화 실전 초급 ⑩ Jenkins를 이용해 Docker 프로젝트 빌드해보기

Jenkins란?

배포 자동화 툴

Jenkins Image download & run

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 인바운드 규칙을 추가해준다.

Jenkins 초기 설정

  • jenkins container 로그를 통해 초기 비밀번호 확인
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 프로젝트가 뜬다.

profile
python developer

0개의 댓글