And Brain said,
Jenkins, CI/CD 파이프라인의 지휘관 본문
오늘은 Github 소스를 Jenkins를 이용하여 Docker 컨테이너로 생성하는 CI/CD 파이프라인에 대해 간략히 알아보겠다.
일단 기본적인 Docker 네트워크를 만들고 나는 기존의 컨테이너와 이미지들을 전부 삭제했다.
// Docker Network 생성하기
$ docker network create --gateway 172.18.0.1 --subnet 172.18.0.0/16 msa-network
// container 전체 삭제
$ docker rm -f $(docker ps -qa)
// image 전체 삭제
$ docker rmi $(docker images -q)
이제 Docker-compose.yml 파일을 만들어 docker-compose를 이용하여 Jenkins를 컨테이너로 띄워보자.
version: '3.9'
services:
jenkins:
container_name: jenkins
image: jenkins/jenkins
volumes:
- ./data:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 8080:8080
privileged: true
user: root
restart: always
environment:
TZ: "Asia/Seoul"
networks:
default:
external:
name: msa-network
기본적인 Jenkins 내부 세팅은 나의 이전 포스팅을 참고해주길 바란다.
https://theworldaswillandidea.tistory.com/53
이제 Github에서 Access Token을 발급받도록 하자.
Settings → Developer settings → Generate new token
이렇게 세팅해준뒤
다시 Jenkins로 돌아가
Jenkins 관리 → Manage Credentials → Add credentials
Secret text 선택 후
Secret에 토큰값 입력
ID는 임의로 지정
다시 Add credentials
Git 계정 정보를 입력하고 Username에 본인 Github ID Password에 본인 Github Pswd
ID는 임의로 지정해준다.
이제 Dashboard → Jenkins 관리 → Global Tool Configuration
Jenkins PipeLine
Dashboard → 새로운 Item
Pipeline 선택 후 생성
Dashboard → jenkins-pipeline → Configuration
Pipeline 항목에서 Pipeline Syntax 클릭하여 Pipeline 스크립트를 생성하고 복사한다.
복사한 스크립트는 파이프라인 스크립트 내에 저런 식으로 붙여준다.
이후 젠킨스 컨테이너 내에 Docker-ce-cli 설치, Docker 개인 registry 생성, Docker —insecure-registry 설정까지 해주고
groovy script로 작성하여 파이프라인을 구축해주면 된다.
실패하고 해결해가면서 하나하나씩 파이프라인을 단계별로 구축해나가면 정말 게임하는 것처럼 재밌을 것이다.
다음엔 실제로 파이프라인 구축에 사용한 groovy 코드들을 통해 좀 더 자세히 알아보는 시간을 갖도록 하자.
Thanks for watching, Have a nice day.
'IT > Jenkins' 카테고리의 다른 글
Jenkins, Publish over SSH; 원격 서버 배포 (2) | 2023.02.19 |
---|---|
Jenkins, CI/CD 파이프라인의 지휘관 - [2] (0) | 2022.12.25 |
[Jenkins] Jenkins, Come here! (0) | 2022.09.26 |