ci: Jenkins pipeline + Gitea registry CI/CD 설정
- Jenkinsfile 추가: Declarative Pipeline으로 빌드/push/cleanup 단계 구성 - docker-compose.yml 수정: build: . → Gitea Container Registry 이미지 참조 Made-with: Cursor
This commit is contained in:
54
Jenkinsfile
vendored
Normal file
54
Jenkinsfile
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
cointrader:
|
||||
build: .
|
||||
image: 10.1.10.28:3000/gihyeon/cointrader:latest
|
||||
container_name: cointrader
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
|
||||
Reference in New Issue
Block a user