1. 플러그인 설치
- Amazon ECR
- Docker Pipeline
2. Docker compose 파일 수정
아래 두개의 볼륨이 없으면, docker: not found 에러 발생
- /usr/bin/docker:/usr/bin/docker
- /var/run/docker.sock:/var/run/docker.sock
결과 docker-compose.yml 파일
services:
jenkins:
image: jenkins/jenkins:lts
user: root
privileged: true
ports:
- "8090:8080"
volumes:
- ./jenkins_home:/var/jenkins_home
- /usr/bin/docker:/usr/bin/docker
- /var/run/docker.sock:/var/run/docker.sock
ssh-agent:
image: jenkins/ssh-agent
3. Credentials 등록
AWS ECR에 엑세스가 가능한 AWS Access Key Id 와 Secret Access Key를 Credential로 등록해준다.
4. 파이프라인 작성
scripted 문법으로 작성된 코드이다.
node {
stage('init') {
// cleanup current user docker credentials
sh 'rm -f ~/.dockercfg ~/.docker/config.json || true'
}
stage('Build Image') {
// 빌드할 이미지:태그를 명시하고, 빌드 위치를 지정
customImage = docker.build("demoImage:0.1","/var/jenkins_home/docker-zip/demo-docker")
}
stage("Push Image") {
// ECR 레포지토리 정보를 입력하고, 3에서 등록한 credential을 지정해준다.
docker.withRegistry('https://{account_number}.dkr.ecr.{region}.amazonaws.com', 'ecr:{region}:{credential_name}') {
//push the image
customImage.push()
}
}
}
'Jenkins' 카테고리의 다른 글
Jenkins - Downstream Job으로 파라미터 전달하기 (0) | 2023.06.18 |
---|---|
Docker이용해서 Jenkins 설치 (0) | 2023.06.07 |