- Replace Go (Kratos/Wire/Watermill) implementation with .NET 10 solution - Add FileSystem.slnx, Directory.Build.props and ABP module structure - Keep Docker/Jenkins/docker-compose deployment artifacts - This drops all Go sources (cmd/, internal/, api/proto) in favor of src/
91 lines
2.7 KiB
Groovy
91 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:
|
|
- ConnectionStrings__Default=Host=192.168.1.154;Port=5432;Database=file_system;Username=postgres;Password=postgres
|
|
- S3__Endpoint=http://192.168.1.154:9000
|
|
- S3__AccessKey=minioadmin
|
|
- S3__SecretKey=minioadmin
|
|
- S3__Region=us-east-1
|
|
- Jwt__Authority=http://192.168.1.154:5215
|
|
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()
|
|
}
|
|
}
|
|
}
|