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

69 lines
3.0 KiB

  1. pipeline {
  2. agent any
  3. tools {
  4. maven 'Maven 3.8.8'
  5. jdk 'jdk20'
  6. }
  7. stages {
  8. // 拉取代码
  9. stage('Pull Code') {
  10. steps {
  11. checkout([$class: 'GitSCM', branches: [[name: '${git_version}']], extensions: [], userRemoteConfigs: [[credentialsId: '0f6d6eaa8754e735262afa495fe2828d611fca17', url: 'http://39.105.23.186:3000/develop/digimeta-MultiSaas.git']]])
  12. }
  13. }
  14. // 代码静态检查
  15. stage('Maven Package and Sonar') {
  16. steps {
  17. withSonarQubeEnv('Sonar') {
  18. sh "java -version"
  19. sh "which java"
  20. echo "打包子目录并进行代码检查 ${project_name}"
  21. sh "mvn clean install"
  22. sh "mvn -f ${project_name} clean package -e -U -Dmaven.test.skip=true -P${build_env} -Dsonar.login=admin -Dsonar.password=Digimeta@2023 sonar:sonar"
  23. }
  24. }
  25. }
  26. stage('Quality Gate') {
  27. steps {
  28. //休息10s等待结果
  29. sleep(10)
  30. script {
  31. def workspace=pwd()
  32. // 删除所有report报告
  33. sh "find ${workspace} -name report-task.txt | xargs rm -f"
  34. // 删除所有sonar锁
  35. sh "find ${workspace} -name .sonar_lock | xargs rm -f"
  36. }
  37. timeout(time: 5, unit: 'MINUTES') {
  38. // Parameter indicates whether to set pipeline to UNSTABLE if Quality Gate fails
  39. // true = set pipeline to UNSTABLE, false = don't waitForQualityGates abortPipeline: true
  40. waitForQualityGate abortPipeline: true
  41. }
  42. }
  43. }
  44. // build Docker并推送镜像仓库
  45. stage('Push to Registry') {
  46. steps {
  47. script {
  48. def workspace=pwd()
  49. // 版本
  50. def tag = "0.8"
  51. def ali_registry = "registry.cn-beijing.aliyuncs.com"
  52. def mavenPath="/usr/share/maven"
  53. if ("${project_name}" == 'digimeta-MultiSaas' ) {
  54. echo '仅做代码检查,不打包目录'
  55. } else {
  56. echo "构件微服务 ${module_name},并推送到镜像仓库"
  57. sh """
  58. cd ${workspace}/${project_name}
  59. docker login --username=缔智元2023 --password=digimeta@2023 ${ali_registry}
  60. docker build --tag ${ali_registry}/digitalman-multisaas/${module_name}:${git_version}-${build_env} .
  61. docker push ${ali_registry}/digitalman-multisaas/${module_name}:${git_version}-${build_env}
  62. docker rmi ${ali_registry}/digitalman-multisaas/${module_name}:${git_version}-${build_env}
  63. """
  64. }
  65. }
  66. }
  67. }
  68. }
  69. }