file-system/Jenkinsfile
向宁 2b2618f18c fix: change file-system port from 8080 to 8090
Port 8080 is occupied on the host. Move to 8090 to avoid conflict.
2026-05-17 22:36:47 +08:00

94 lines
2.7 KiB
Groovy

pipeline {
agent any
environment {
CI_REGISTRY = '192.168.1.154:31010'
DOCKER_IMAGE = 'docker/file-system-server'
DOCKER_TAG = "${BUILD_NUMBER}"
DEPLOY_DIR = '/home/xiangning/deploy/file-system-server'
}
stages {
stage('Checkout') {
steps {
echo '=== Checkout ==='
checkout scm
sh 'git log --oneline -5'
}
}
stage('Build') {
steps {
echo '=== Build Docker Image ==='
sh """
echo "Registry: ${CI_REGISTRY}"
echo "Image: ${DOCKER_IMAGE}:${DOCKER_TAG}"
docker build -t ${DOCKER_IMAGE}:${DOCKER_TAG} .
docker tag ${DOCKER_IMAGE}:${DOCKER_TAG} ${DOCKER_IMAGE}:latest
"""
}
}
stage('Push') {
steps {
echo '=== Push to Registry ==='
sh """
echo 'dockerxn001624.' | docker login -u docker --password-stdin ${CI_REGISTRY}
docker tag ${DOCKER_IMAGE}:${DOCKER_TAG} ${CI_REGISTRY}/${DOCKER_IMAGE}:${DOCKER_TAG}
docker tag ${DOCKER_IMAGE}:latest ${CI_REGISTRY}/${DOCKER_IMAGE}:latest
docker push ${CI_REGISTRY}/${DOCKER_IMAGE}:${DOCKER_TAG}
docker push ${CI_REGISTRY}/${DOCKER_IMAGE}:latest
"""
}
}
stage('Deploy') {
steps {
echo '=== Deploy ==='
sh """
mkdir -p ${DEPLOY_DIR}
cd ${DEPLOY_DIR}
cat > docker-compose.yml << 'DCOF'
services:
file-system-server:
image: ${CI_REGISTRY}/${DOCKER_IMAGE}:latest
container_name: file-system-server
network_mode: host
restart: unless-stopped
environment:
- GIN_MODE=release
- SERVER_PORT=8090
- RUSTFS_ENDPOINT_URL=http://192.168.1.154:9000
- RUSTFS_ACCESS_KEY_ID=minioadmin
- RUSTFS_SECRET_ACCESS_KEY=minioadmin
- RUSTFS_REGION=us-east-1
- AUTH_API_KEY=file-system-api-key-2024
- GRPC_AUTH_ADDR=192.168.1.154:50051
- OTEL_ENDPOINT=192.168.1.154:4316
volumes:
- ./logs:/app/logs
DCOF
docker compose pull
docker compose down --remove-orphans || true
docker compose up -d
docker image prune -f
docker compose ps
"""
}
}
}
post {
success {
echo '=== CI/CD SUCCESS ==='
}
failure {
echo '=== CI/CD FAILED ==='
}
always {
deleteDir()
}
}
}