728x90
반응형
docker swarm으로 로컬에서 젠킨스를 설치하고 슬레이브를 띄워보려고 한다.
jenkins image
https://hub.docker.com/r/jenkins/jenkins
jenkins-slave
https://hub.docker.com/r/jenkins/ssh-agent
jenkins-master 올리기
jenkins swarm overlay network를 생성한다.
$ docker network create -d overlay jenkins-net
jenkins-master.yml
version: '3.7'
services:
jenkins-master:
image: jenkins/jenkins:lts-jdk11
ports:
- 8080:8080
- 50000:50000
restart: always
volumes:
- ~/Desktop/docker/data/jenkins_master:/var/jenkins_home
environment:
TZ: "Asia/Seoul"
networks:
default:
name: jenkins-net
external: true
볼륨은 미리 생성해야 한다.
docker-swarm을 이용해서 마스터 올리기
$ docker swarm init
$ docker stack deploy -c jenkins-master.yml jkns-master
젠킨스 로그를 확인하면 password를 확인할 수 있다.
로그보는법
$ docker service logs jkns-master_jenkins-master
젠킨스 플러그인 설치 Install suggested plugins 선택
공개키 생성 ssh-keygen 실행
% docker exec -it jkns-master_jenkins-master
% ssh-keygen -t rsa -C ""
id_rsa와 id_rsa.pub 파일이 잘 생성됐는지 확인
jenkins-slave 올리기
jenkins-worker01.yml
version: '3.7'
services:
jenkins-worker01:
image: jenkins/ssh-agent
restart: always
volumes:
- ~/Desktop/docker/data/jenkins_worker01:/var/jenkins_home
environment:
- JENKINS_SLAVE_SSH_PUBKEY=ssh-rsa AAAAB3NzaC1yc2....
networks:
default:
name: jenkins-net
external: true
JENKINS_SLAVE 값은 master의 id_rsa.pub 값이다.
Jenkins worker sevice up
$ docker stack deploy -c jenkins-worker01.yml jkns-worker01
master node에서 ssh-copy-id
ssh-copy-id를 이용하면 암호없이 ssh 로그인이 가능하다.
$ ssh-copy-id jenkins@jenkins-worker01
master에 노드 추가
jenkins관리 > set up agent
노드명을 설정하고 Permanent agent선택
고급설정에 worker의 java경로를 써준다
(which java)
Jenkins-slave 노드
728x90
반응형
'CICD(BUILD tool)' 카테고리의 다른 글
docker swarm jenkins / slave 설치 및 연동 (0) | 2023.03.15 |
---|---|
Jenkinsfile에서 gradle 빌드하기 ( docker 이미지로 ) (0) | 2022.10.28 |
gitlab-runner docker 내부 git연결 시 설정 (0) | 2021.07.26 |
docker gitlab ssl(https) 적용 (0) | 2021.07.20 |
docker gitlab 설치 & gitlab-runner 연동 (0) | 2021.07.16 |