数字人管理平台
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.
 
 
 
 
 
 

67 line
3.0 KiB

  1. node {
  2. def workspace=pwd()
  3. // 版本
  4. def tag = "0.8"
  5. def ali_registry = "registry.cn-beijing.aliyuncs.com"
  6. // 镜像仓库的地址
  7. // def harbor_url = "192.168.81.102:85"
  8. // 镜像仓库的项目,这里建议项目名称和jenkins的item项目名称、以及harbor的项目名称保持一致,否则用一下脚本会出问题
  9. // def harbor_project = "demo"
  10. def mavenPath="/usr/share/maven"
  11. // 拉取代码
  12. stage('pull code') {
  13. checkout([$class: 'GitSCM', branches: [[name: '*/${branch}']], extensions: [], userRemoteConfigs: [[credentialsId: '0f6d6eaa8754e735262afa495fe2828d611fca17', url: 'http://39.105.23.186:3000/develop/digimeta-MultiSaas.git']]])
  14. }
  15. // 代码静态检查
  16. stage('Maven Package and Sonar') {
  17. if ("${project_name}" == 'digimeta-MultiSaas' ) {
  18. echo '打包根目录'
  19. sh 'mvn clean package sonar:sonar'
  20. } else {
  21. echo "打包子目录并进行代码检查 ${project_name}"
  22. sh "mvn clean install"
  23. sh "mvn -f ${project_name} clean package -e -U -Dmaven.test.skip=true sonar:sonar"
  24. }
  25. //script {
  26. //引入Jenkins SonarQube-Scanner全局工具 "全局配置中以SonarQube-Scanner命名的工具"
  27. // scannerHome = tool 'SonarQube-Scanner'
  28. //}
  29. //引用SonarQube环境 "系统配置中配置的SonarQube servers的name值 "
  30. //withSonarQubeEnv('Sonar') {
  31. //执行sonar-scanner命令
  32. //sh "${scannerHome}/bin/sonar-scanner"
  33. // $mavenPath/bin/mvn sonar:sonar
  34. //}
  35. }
  36. // build Docker并推送镜像仓库
  37. stage('build project') {
  38. if ("${project_name}" == 'digimeta-MultiSaas' ) {
  39. echo '仅做代码检查,不打包目录'
  40. } else {
  41. echo "构件微服务 ${project_name},并推送到镜像仓库"
  42. sh """
  43. cd ${workspace}/${project_name}
  44. docker login --username=缔智元2023 ${ali_registry}
  45. docker build --tag ${ali_registry}/digitalman-multisaas/${project_name}:${version}
  46. docker push ${ali_registry}/digitalman-multisaas/${project_name}:${version}
  47. """
  48. }
  49. //echo "把jar上传镜像仓库"
  50. //def oldImageName = "${project_name}:latest"
  51. //def newImageName = "${harbor_url}/${harbor_project}/${project_name}:${tag}"
  52. // 改名称 做规范
  53. //sh "docker tag ${oldImageName} ${newImageName}"
  54. // 删除之前的 镜像
  55. //sh "docker rmi ${oldImageName}"
  56. // 推送到 dockers仓库
  57. //withCredentials([usernamePassword(credentialsId: '8a3d7ab1-4cd6-482c-86c9-a12aa6404d98', passwordVariable: 'harbor_password', usernameVariable: 'harbor_account')]) {
  58. // 登录
  59. //sh "docker login -u ${harbor_account} -p ${harbor_password} ${harbor_url}"
  60. // 上传
  61. //sh "docker push ${newImageName}"
  62. //echo "镜像推送成功"
  63. //}
  64. }
  65. }