mirror of
https://github.com/crawlab-team/crawlab.git
synced 2026-01-22 17:31:03 +01:00
70 lines
2.2 KiB
Groovy
70 lines
2.2 KiB
Groovy
pipeline {
|
|
agent {
|
|
node {
|
|
label 'crawlab'
|
|
}
|
|
}
|
|
|
|
stages {
|
|
stage('Setup') {
|
|
steps {
|
|
echo "Running Setup..."
|
|
script {
|
|
if (env.GIT_BRANCH == 'develop') {
|
|
env.TAG = 'develop'
|
|
env.DOCKERFILE = 'Dockerfile.local'
|
|
} else if (env.GIT_BRANCH == 'master') {
|
|
env.TAG = 'master'
|
|
env.DOCKERFILE = 'Dockerfile.local'
|
|
} else if (env.GIT_BRANCH == 'frontend') {
|
|
env.TAG = 'frontend-alpine'
|
|
env.DOCKERFILE = 'docker/Dockerfile.frontend.alpine'
|
|
} else if (env.GIT_BRANCH == 'backend-master') {
|
|
env.TAG = 'master-alpine'
|
|
env.DOCKERFILE = 'docker/Dockerfile.master.alpine'
|
|
} else if (env.GIT_BRANCH == 'backend-worker') {
|
|
env.TAG = 'worker-alpine'
|
|
env.DOCKERFILE = 'docker/Dockerfile.worker.alpine'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage('Build') {
|
|
steps {
|
|
echo "Building..."
|
|
sh """
|
|
docker build -t tikazyq/crawlab:${ENV:TAG} -f ${ENV:DOCKERFILE} .
|
|
"""
|
|
}
|
|
}
|
|
stage('Test') {
|
|
steps {
|
|
echo 'Testing..'
|
|
}
|
|
}
|
|
stage('Deploy') {
|
|
steps {
|
|
echo 'Deploying....'
|
|
sh """
|
|
if [ ${ENV:GIT_BRANCH} -eq master ] || [ ${ENV:GIT_BRANCH} -eq develop ]; then
|
|
# 重启docker compose
|
|
cd ./jenkins/${ENV:GIT_BRANCH}
|
|
docker-compose stop | true
|
|
docker-compose up -d
|
|
else
|
|
# 发布到Dockerhub
|
|
docker push tikazyq/crawlab:${ENV:TAG}
|
|
fi
|
|
"""
|
|
}
|
|
}
|
|
stage('Cleanup') {
|
|
steps {
|
|
echo 'Cleanup...'
|
|
sh """
|
|
docker image prune -f
|
|
"""
|
|
}
|
|
}
|
|
}
|
|
} |