Files
cointrader/Jenkinsfile
21in7 ce57479b93 ci: Jenkins pipeline + Gitea registry CI/CD 설정
- Jenkinsfile 추가: Declarative Pipeline으로 빌드/push/cleanup 단계 구성
- docker-compose.yml 수정: build: . → Gitea Container Registry 이미지 참조

Made-with: Cursor
2026-03-01 16:31:34 +09:00

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"
}
}
}