2 Star 1 Fork 0

我小时候可帅啦/基础框架

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
build-dev.groovy 3.75 KB
一键复制 编辑 原始数据 按行查看 历史
我小时候可帅啦 提交于 2021-10-19 22:16 . 一些配置修改
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
pipeline {
agent any
parameters {
string(name: 'profile', defaultValue: 'dev', description: 'Build environment')
string(name: 'dockerRepository', defaultValue: '47.97.206.189:5000', description: 'docker repository')
}
tools {
maven 'maven3.8.2'
jdk 'openjdk-jdk11'
}
environment {
orderCenterPath = 'business/order-center'
userCenterPath = 'business/user-center'
gatewayCenterPath = 'gateway/sc-gateway'
oauthCenterPath = 'gateway/oauth2'
kubectl = "kubectl --kubeconfig /var/jenkins_home/k8s/kubectl/config"
}
stages {
stage('Prepare') {
steps {
sh "mvn -P ${profile} clean validate compile test package"
script {
container_version = ":" + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))
}
}
}
stage('Build') {
failFast true
parallel {
stage('Build order center') {
steps {
script {
def orderPom = readMavenPom file: "${orderCenterPath}/pom.xml"
userCenterJarName = "basic-${orderPom.artifactId}-${profile}"
userTag = "${dockerRepository}/${userCenterJarName}${container_version}"
}
sh "docker build --build-arg JAR_FILE=${userCenterJarName}.jar -t ${userCenterJarName} ${orderCenterPath}"
sh "docker tag ${userCenterJarName} ${userTag}"
sh "docker push ${userTag}"
}
}
stage('Build user center') {
steps {
script {
def userPom = readMavenPom file: "${userCenterPath}/pom.xml"
orderCenterJarName = "basic-${userPom.artifactId}-${profile}"
orderTag = "${dockerRepository}/${orderCenterJarName}${container_version}"
}
sh "docker build --build-arg JAR_FILE=${orderCenterJarName}.jar -t ${orderCenterJarName} ${userCenterPath}"
sh "docker tag ${orderCenterJarName} ${orderTag}"
sh "docker push ${orderTag}"
}
}
stage('Build gateway') {
steps {
script {
def gatewayPom = readMavenPom file: "${gatewayCenterPath}/pom.xml"
gatewayJarName = "basic-${gatewayPom.artifactId}-${profile}"
gatewayTag = "${dockerRepository}/${gatewayJarName}${container_version}"
}
sh "docker build --build-arg JAR_FILE=${gatewayJarName}.jar -t ${gatewayJarName} ${gatewayCenterPath}"
sh "docker tag ${gatewayJarName} ${gatewayTag}"
sh "docker push ${gatewayTag}"
}
}
stage('Build oauth2') {
steps {
script {
def oauthPom = readMavenPom file: "${oauthCenterPath}/pom.xml"
oauthJarName = "basic-${oauthPom.artifactId}-${profile}"
oauthTag = "${dockerRepository}/${oauthJarName}${container_version}"
}
sh "docker build --build-arg JAR_FILE=${oauthJarName}.jar -t ${oauthJarName} ${oauthCenterPath}"
sh "docker tag ${oauthJarName} ${oauthTag}"
sh "docker push ${oauthTag}"
}
}
}
}
stage("Deploy") {
steps {
script {
env.profile = profile
tempFileName = "kubernetes_temp.yaml"
// 设置版本号 解决k8s文件镜像不更新的问题
env.container_version = container_version
env.JAVA_OPTS = '-Xms512m -Xmx512m'
}
// 替换k8s文件中的环境变量
sh "envsubst < build/kubernetes-${profile}.yaml > ${tempFileName}"
script {
def file = readFile file: tempFileName
println file
}
sh "${kubectl} apply --record -f ${tempFileName}"
}
}
}
post {
always {
script {
def template = readFile file: 'build/jenkins-mail-template.html'
emailext body: template, subject: '${PROJECT_NAME}', to: '[email protected],'
}
}
success {
script {
junit "**/target/surefire-reports/*.xml"
jacoco(
execPattern: '**/target/jacoco.exec',
classPattern: '**/classes',
exclusionPattern: '**/src/test*',
)
}
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/luelueluewp/basic-framework.git
[email protected]:luelueluewp/basic-framework.git
luelueluewp
basic-framework
基础框架
master

搜索帮助