Ver código fonte

yinruoxi:

1.上传Jenkinsfile配置文件
tags/v0.8.0a
kira 2 anos atrás
pai
commit
0373971992
1 arquivos alterados com 32 adições e 49 exclusões
  1. +32
    -49
      Jenkinsfile

+ 32
- 49
Jenkinsfile Ver arquivo

@@ -1,4 +1,5 @@
node {
pipeline {
agent any
def workspace=pwd()
// 版本
def tag = "0.8"
@@ -8,60 +9,42 @@ node {
// 镜像仓库的项目,这里建议项目名称和jenkins的item项目名称、以及harbor的项目名称保持一致,否则用一下脚本会出问题
// def harbor_project = "demo"
def mavenPath="/usr/share/maven"
// 拉取代码
stage('pull code') {
checkout([$class: 'GitSCM', branches: [[name: '*/${branch}']], extensions: [], userRemoteConfigs: [[credentialsId: '0f6d6eaa8754e735262afa495fe2828d611fca17', url: 'http://39.105.23.186:3000/develop/digimeta-MultiSaas.git']]])
}
// 代码静态检查
stage('Maven Package and Sonar') {
if ("${project_name}" == 'digimeta-MultiSaas' ) {
echo '打包根目录'
sh 'mvn clean package sonar:sonar'
} else {
echo "打包子目录并进行代码检查 ${project_name}"
sh "mvn clean install"
sh "mvn -f ${project_name} clean package -e -U -Dmaven.test.skip=true sonar:sonar"
states {
// 拉取代码
stage('pull code') {
steps {
checkout([$class: 'GitSCM', branches: [[name: '*/${branch}']], extensions: [], userRemoteConfigs: [[credentialsId: '0f6d6eaa8754e735262afa495fe2828d611fca17', url: 'http://39.105.23.186:3000/develop/digimeta-MultiSaas.git']]])
}
}

//script {
//引入Jenkins SonarQube-Scanner全局工具 "全局配置中以SonarQube-Scanner命名的工具"
// scannerHome = tool 'SonarQube-Scanner'
//}
//引用SonarQube环境 "系统配置中配置的SonarQube servers的name值 "
//withSonarQubeEnv('Sonar') {
//执行sonar-scanner命令
//sh "${scannerHome}/bin/sonar-scanner"
// $mavenPath/bin/mvn sonar:sonar
//}
}
// build Docker并推送镜像仓库
stage('build project') {
if ("${project_name}" == 'digimeta-MultiSaas' ) {
echo '仅做代码检查,不打包目录'
} else {
echo "构件微服务 ${project_name},并推送到镜像仓库"
sh """
// 代码静态检查
stage('Maven Package and Sonar') {
steps {
if ("${project_name}" == 'digimeta-MultiSaas' ) {
echo '打包根目录'
sh 'mvn clean package sonar:sonar'
} else {
echo "打包子目录并进行代码检查 ${project_name}"
sh "mvn clean install"
sh "mvn -f ${project_name} clean package -e -U -Dmaven.test.skip=true sonar:sonar"
}
}
}
// build Docker并推送镜像仓库
stage('build project') {
steps {
if ("${project_name}" == 'digimeta-MultiSaas' ) {
echo '仅做代码检查,不打包目录'
} else {
echo "构件微服务 ${project_name},并推送到镜像仓库"
sh """
cd ${workspace}/${project_name}
docker login --username=缔智元2023 ${ali_registry}
docker build --tag ${ali_registry}/digitalman-multisaas/${project_name}:${version}
docker push ${ali_registry}/digitalman-multisaas/${project_name}:${version}
"""

}
}
}
//echo "把jar上传镜像仓库"
//def oldImageName = "${project_name}:latest"
//def newImageName = "${harbor_url}/${harbor_project}/${project_name}:${tag}"
// 改名称 做规范
//sh "docker tag ${oldImageName} ${newImageName}"
// 删除之前的 镜像
//sh "docker rmi ${oldImageName}"
// 推送到 dockers仓库
//withCredentials([usernamePassword(credentialsId: '8a3d7ab1-4cd6-482c-86c9-a12aa6404d98', passwordVariable: 'harbor_password', usernameVariable: 'harbor_account')]) {
// 登录
//sh "docker login -u ${harbor_account} -p ${harbor_password} ${harbor_url}"
// 上传
//sh "docker push ${newImageName}"
//echo "镜像推送成功"
//}
}

}

Carregando…
Cancelar
Salvar