반응형
1. Docker를 설치 합니다. 설치 방법은 공식 사이트의 Docs를 참조하세요.
2. 도커 내 브릿지 네트워크 생성 합니다.
docker network create jenkins
3.다음 볼륨을 생성하여 도커 데몬에 연결하는 데 필요한 도커 클라이언트 TLS 인증서를 공유하고 다음 도커 볼륨 생성 명령을 사용하여 Jenkins 데이터를 유지하세요.
docker volume create jenkins-docker-certs
docker volume create jenkins-data
4.젠킨스 노드 내에서 도커 명령어를 실행하기 위해 도커:DinD의 이미지를를 다운로드 및 실행하세요.
# 명령어 전문
docker container run \
--name jenkins-docker \
--rm \
--detach \
--privileged \
--network jenkins \
--network-alias docker \
--env DOCKER_TLS_CERTDIR=/certs \
--volume jenkins-docker-certs:/certs/client \
--volume jenkins-data:/var/jenkins_home \
--publish 2376:2376 \
docker:dind
# 세부 옵션 설명
docker container run \
--name jenkins-docker \ # ( Optional ) 컨테이너에 이름 할당
--rm \ # ( Optional ) 도커:dind 컨테이너가 shut-down 되면 실행 중이던 컨테이너 또한 삭제
--detach \ # ( Optional ) 백그라운드 모드 실행
--privileged \ # 도커에서 도커를 실행하려면 현재 권한을 가진 액세스 권한이 있어야 제대로 작동할 수 있습니다.
--network jenkins \ # 해당 도커:dind의 네트워크를 이전에 생성한 jenkins 브릿지 네트워크로 선택
--network-alias docker \ # jenkins network 내에서 docker를 호스트명으로 사용
--env DOCKER_TLS_CERTDIR=/certs \ # 환경 변수 설정
--volume jenkins-docker-certs:/certs/client \ # 이전에 생성한 도커 볼륨을 다음의 컨테이너 내 경로에 매핑
--volume jenkins-data:/var/jenkins_home \ # 이전에 생성한 도커 볼륨을 다음의 컨테이너 내 경로에 매핑
--publish 2376:2376 \ # ( Optional ) 호스트 머신에 docker:dind의 포트를 노출.
# 이 옵션은 호스트에서 docker:dind를 컨트롤 하는데 유용하게 해준다.
docker:dind # docker:dind 이미지 사용
5.jenkinsci/blueocean 이미지 다운로드 및 컨테이너 실행
# 명령어 전문
docker container run \
--name jenkins-blueocean \
--rm \
--detach \
--network jenkins \
--env DOCKER_HOST=tcp://docker:2376 \
--env DOCKER_CERT_PATH=/certs/client \
--env DOCKER_TLS_VERIFY=1 \
--publish 8080:8080 \
--publish 50000:50000 \
--volume jenkins-data:/var/jenkins_home \
--volume jenkins-docker-certs:/certs/client:ro \
jenkinsci/blueocean
# 세부 옵션 설명
docker container run \
--name jenkins-blueocean \ # ( Optional )컨테이너 이름 할당
--rm \ # ( Optional ) 도커:dind 컨테이너가 shut-down 되면 실행 중이던 컨테이너 또한 삭제
--detach \ # ( Optional ) 백그라운드 모드 실행
--network jenkins \ # 해당 도커:dind의 네트워크를 이전에 생성한 jenkins 브릿지 네트워크로 선택
--env DOCKER_HOST=tcp://docker:2376 \ # 도커 데몬에 연결하기 위한 환경변수. docker, docker-compose 명령어 사용에 필요
--env DOCKER_CERT_PATH=/certs/client \ # 도커 인증서 위치 환경변수 설정
--env DOCKER_TLS_VERIFY=1 \ # 도커 TLS 환경변수 확인 환경변수
--publish 8080:8080 \ # 호스트의 8080 와 젠킨스 컨테이너의 8080을 매핑
--publish 50000:50000 \ # 호스트의 50000 와 젠킨스 컨테이너의 50000을 매핑
--volume jenkins-data:/var/jenkins_home \ # 이전에 생성한 도커 볼륨을 다음의 컨테이너 내 경로에 매핑
--volume jenkins-docker-certs:/certs/client:ro \ # 이전에 생성한 도커 볼륨을 다음의 컨테이너 내 경로에 매핑
jenkinsci/blueocean # 다음 이미지를 컨테이너 생성에 사용
반응형
'Infra & DevOps > CI CD' 카테고리의 다른 글
단일한 진리의 원천 Single source of truth (0) | 2020.06.26 |
---|---|
[퍼온 글] Jenkins 스크립팅 된 파이프 라인 또는 선언적 파이프 라인 (0) | 2020.06.17 |