목차
1.젠킨스 플러그인 설치
jenkins suggested plugins (시작시 제안 플러그인) 설치 + 추가적으로 아래 플러그인을 설치한다.
- git parameter
- cleanup
- docker pipeline
2. Jenkins - GitHub 연동
2.1. GitHub access token 발급
Settings > Developer settings > Personal access tokens (classic)
2.2. GitHub 계정 등록
Dashboard > Jenkins 관리 > Configure System > GitHub 에서 SecretText
3. Jenkins - Docker Hub 연동
3.1. Dockerhub 에서 access token 발급
3.2. Jeknkins Credential 생성 ( Docker Hub )
Dashboard > Jenkins 관리 > Credentials > System > Global credentials (unrestricted)
4. Jenkins 계정 Docker 권한 확인 & 추가
jenkins 빌드step 에 docker build , push 가 포함 돼있을 경우 jenkins계정에서 docker 실행 권한이 필요하다.
권한이 없을 경우, 아래와 같은 permission denied 에러 메세지를 보게된다.
# 에러메세지
+ docker image build -f Dockerfile -t jei0486/demo-api:v2 .
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&shmsize=0&t=jei0486%2Fdemo-api%3Av2&target=&ulimits=null&version=1": dial unix /var/run/docker.sock: connect: permission denied
따라서 아래 명령어를 실행한다.
# 사용자 jenkins 를 docker 그룹에 추가
sudo usermod -a -G docker jenkins
# 그룹 추가 확인
grep docker /etc/group
# 젠킨스 재시작
sudo service jenkins restart
root@DESKTOP:/home/ubuntu# grep docker /etc/group
docker:x:1001:ubuntu
root@DESKTOP:/home/ubuntu# sudo usermod -a -G docker jenkins
root@DESKTOP:/home/ubuntu# grep docker /etc/group
docker:x:1001:ubuntu,jenkins
root@DESKTOP:/home/ubuntu# service jenkins restart
* Restarting Jenkins Automation Server jenkins
Correct java version found
Setting up max open files limit to 8192
'DevOps, Infra' 카테고리의 다른 글
[Jenkins] Jenkinsfile (0) | 2022.12.28 |
---|---|
[Jenkins] 빌드 자동화 - polling (0) | 2022.12.27 |
Git 브랜치 전략 3가지 (0) | 2022.12.27 |
[skaffold] Skaffold , kustomize with Spring Boot (0) | 2022.12.27 |
Jenkins Install for WSL (0) | 2022.12.27 |