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:
21in7
2026-03-01 16:31:34 +09:00
parent 86904dddf7
commit ce57479b93
2 changed files with 55 additions and 1 deletions

54
Jenkinsfile vendored Normal file
View 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"
}
}
}

View File

@@ -1,6 +1,6 @@
services:
cointrader:
build: .
image: 10.1.10.28:3000/gihyeon/cointrader:latest
container_name: cointrader
restart: unless-stopped
env_file: