65 lines
2.5 KiB
Groovy
65 lines
2.5 KiB
Groovy
|
|
def backend_url = "http://192.168.101.221/iot/yelink-demo.git"
|
|
def registry_url = "swr.cn-south-2.myhuaweicloud.com"
|
|
def item = "yelink-demo"
|
|
def project_name = "yelink_appstore_test"
|
|
pipeline {
|
|
agent any
|
|
parameters {
|
|
gitParameter branch: '', branchFilter: '.*', defaultValue: 'origin/master', description: '分支', name: 'BACKEND_BRANCH', quickFilterEnabled: false, selectedValue: 'NONE', sortMode: 'NONE', tagFilter: '*', type: 'GitParameterDefinition', useRepository: ''
|
|
string defaultValue: '', description: 'docker镜像版本号', name: 'docker_tag', trim: false
|
|
booleanParam(name: 'BUILD_DOCKER', defaultValue: true, description: 'Should we run build docker')
|
|
}
|
|
stages {
|
|
stage('拉取后端代码') {
|
|
steps {
|
|
sh 'mkdir -p ./backend'
|
|
dir('./backend'){
|
|
sh 'rm -rf ./deploy'
|
|
checkout([$class: 'GitSCM', branches: [[name: "${params.BACKEND_BRANCH}"]], extensions: [], userRemoteConfigs: [[credentialsId: 'weipeng', url: "$backend_url"]]])
|
|
}
|
|
}
|
|
}
|
|
stage('后端代码编译') {
|
|
when {
|
|
expression { return params.BUILD_DOCKER }
|
|
}
|
|
steps {
|
|
dir('./backend') {
|
|
sh "mvn clean package -DskipTests"
|
|
}
|
|
}
|
|
}
|
|
stage('构建docker镜像') {
|
|
when {
|
|
expression { return params.BUILD_DOCKER }
|
|
}
|
|
steps {
|
|
dir('./backend') {
|
|
script {
|
|
sh "docker login -u cn-south-2@TQ0BQOAML1V5Y5HZ9ISP -p c6ec8441a31e8779899f060ee4a9146969b81f439ef5664cd2f5b3bd81cba962 swr.cn-south-2.myhuaweicloud.com"
|
|
sh "docker build -t ${item}:latest ./"
|
|
sh "docker tag ${item}:latest ${registry_url}/${project_name}/${item}:${docker_tag}"
|
|
sh "docker push ${registry_url}/${project_name}/${item}:${docker_tag}"
|
|
sh "docker rmi -f ${item}"
|
|
sh "docker rmi -f ${registry_url}/${project_name}/${item}:${docker_tag}"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage('打包目录') {
|
|
steps {
|
|
dir('./backend/deploy') {
|
|
script {
|
|
sh 'echo "VERSION=${docker_tag}" > .env'
|
|
sh "touch yelink-demo_${docker_tag}_${BUILD_NUMBER}_`date +%Y-%m-%d`"
|
|
sh 'rm -f ../yelink-demo_*.zip'
|
|
sh 'zip -r yelink-demo_${docker_tag}_${BUILD_NUMBER}_`date +%Y-%m-%d`.zip . -x ".git/*"'
|
|
sh 'cp yelink-demo_${docker_tag}_${BUILD_NUMBER}_`date +%Y-%m-%d`.zip ../'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|