모두를 위한 클라우드 컴퓨팅 7

cloud-computing

도커와 젠킨스를 이용한 CI/CD 파이프라인 구성

CI (Continuous Integration)


CD (Continuous Deployment)


실습: 서버 생성하고 도커/젠킨스 설정


실습: github와 젠킨스 연동 설정


실습: nginx 예제 프로젝트 가져와 develop 브랜치에 푸시하기

$ wget https://github.com/startbootstrap/startbootstrap-freelancer/archive/gh-pages.zip
$ unzip gh-pages.zip
$ cp -r startbootstrap-freelancer-gh-pages/* ./
$ rm -rf gh-pages.zip startbootstrap-freelancer-gh-pages/
$ vi Dockerfile
FROM nginx:latest
COPY . /usr/share/nginx/html

$ vi container_check.sh
NGINX_CONTAINER_ID=`docker ps -aq --filter 'name=nginx'`

if [ -n "$NGINX_CONTAINER_ID" ];
  then
      echo "nginx container exist"
      docker stop $NGINX_CONTAINER_ID
      docker rm $NGINX_CONTAINER_ID
      docker run -d -p 80:80 --name nginx nginx:test
  else
      echo "nginx container not exist"
      docker run -d -p 80:80 --name nginx nginx:test
fi

$ ga .
$ g commit -m "ADD test files"
$ gp -u origin develop


실습: 빌드된 도커 이미지가 도커허브에 푸시되면 자동 실행


지금까지의 설정을 통해 수행되는 일들


시행착오