You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.4 KiB
73 lines
2.4 KiB
String Dockerfile = """
|
|
FROM 10.100.166.50:15001/library/jdk:1.8.0_341 as dev
|
|
ADD gateway-Gemini-exec.jar app.jar
|
|
ENTRYPOINT ["java", "-server", "-jar", "app.jar", "--spring.profiles.active=global", "--server.port=8080"]
|
|
EXPOSE 8080
|
|
""".trim()
|
|
|
|
pipeline {
|
|
agent any
|
|
|
|
environment {
|
|
// 源码配置
|
|
git = 'http://git.galaxis.yvanui.com/thinking/thinkingframework.git'
|
|
gitCredentials = 'lizw(git.galaxis.yvanui.com)'
|
|
// 构建配置
|
|
target = "${WORKSPACE}/cloud/gateway/target"
|
|
dockerImgTag = "wms-gateway:v$BUILD_NUMBER"
|
|
// harbor配置
|
|
harbor = 'http://10.100.166.50:15001'
|
|
harborCredentials = credentials('admin(10.100.166.50:15001)')
|
|
harborRepositorie = 'wms'
|
|
// 自定义环境变量
|
|
JAVA_HOME = '/home/www/jenkins/jdk1.8.0_341'
|
|
MAVEN_HOME = '/home/www/jenkins/apache-maven-3.8.6'
|
|
NODE_HOME = '/home/www/jenkins/node-v16.17.0-linux-x64'
|
|
PATH = "$JAVA_HOME/bin:$MAVEN_HOME/bin:$NODE_HOME/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin"
|
|
}
|
|
|
|
stages {
|
|
stage('#检查环境') {
|
|
steps {
|
|
sh 'java -version'
|
|
sh 'mvn --version'
|
|
}
|
|
}
|
|
|
|
stage('#拉去代码') {
|
|
steps {
|
|
checkout([
|
|
$class : 'GitSCM',
|
|
branches : [[name: '*/develop']],
|
|
userRemoteConfigs: [[url: "${git}", credentialsId: "${gitCredentials}"]],
|
|
extensions : [],
|
|
])
|
|
}
|
|
}
|
|
|
|
stage('#编译项目') {
|
|
steps {
|
|
sh 'mvn clean package -Dmaven.test.skip=true'
|
|
}
|
|
}
|
|
|
|
stage('#构建镜像') {
|
|
steps {
|
|
sh """
|
|
cd $target
|
|
pwd
|
|
echo '$Dockerfile' > Dockerfile
|
|
sudo docker build --target dev -t $dockerImgTag $target
|
|
"""
|
|
}
|
|
}
|
|
|
|
stage('#推送镜像') {
|
|
steps {
|
|
sh 'sudo docker login --username $harborCredentials_USR --password $harborCredentials_PSW $harbor'
|
|
sh "sudo docker tag $dockerImgTag ${harbor.replaceAll('https?://', '')}/$harborRepositorie/$dockerImgTag"
|
|
sh "sudo docker push ${harbor.replaceAll('https?://', '')}/$harborRepositorie/$dockerImgTag"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|