- Jenkinsfile 추가: Declarative Pipeline으로 빌드/push/cleanup 단계 구성 - docker-compose.yml 수정: build: . → Gitea Container Registry 이미지 참조 Made-with: Cursor
55 lines
1.4 KiB
Groovy
55 lines
1.4 KiB
Groovy
pipeline {
|
|
agent any
|
|
|
|
environment {
|
|
REGISTRY = '10.1.10.28:3000'
|
|
IMAGE_NAME = 'gihyeon/cointrader'
|
|
IMAGE_TAG = "${env.BUILD_NUMBER}"
|
|
FULL_IMAGE = "${REGISTRY}/${IMAGE_NAME}:${IMAGE_TAG}"
|
|
LATEST_IMAGE = "${REGISTRY}/${IMAGE_NAME}:latest"
|
|
GITEA_CREDS = credentials('gitea-registry-credentials')
|
|
}
|
|
|
|
stages {
|
|
stage('Checkout') {
|
|
steps {
|
|
checkout scm
|
|
}
|
|
}
|
|
|
|
stage('Build Image') {
|
|
steps {
|
|
sh "docker build -t ${FULL_IMAGE} -t ${LATEST_IMAGE} ."
|
|
}
|
|
}
|
|
|
|
stage('Push to Gitea Registry') {
|
|
steps {
|
|
sh """
|
|
echo ${GITEA_CREDS_PSW} | docker login ${REGISTRY} -u ${GITEA_CREDS_USR} --password-stdin
|
|
docker push ${FULL_IMAGE}
|
|
docker push ${LATEST_IMAGE}
|
|
"""
|
|
}
|
|
}
|
|
|
|
stage('Cleanup') {
|
|
steps {
|
|
sh """
|
|
docker rmi ${FULL_IMAGE} || true
|
|
docker rmi ${LATEST_IMAGE} || true
|
|
"""
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
success {
|
|
echo "Build #${env.BUILD_NUMBER} pushed: ${FULL_IMAGE}"
|
|
}
|
|
failure {
|
|
echo "Build #${env.BUILD_NUMBER} FAILED"
|
|
}
|
|
}
|
|
}
|