build.jenkins 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. pipeline {
  2. agent any
  3. stages {
  4. stage('prepare-framework') {
  5. steps {
  6. //sh 'if [ ! -d framework ]; then mkdir -p framework; fi && cd framework'
  7. echo "crowd-service private cloud [framework] preparing..."
  8. git branch: 'private-release-v2021', credentialsId: '74f4c153-f4fa-4ccd-83c5-1597c8dce407', url: 'ssh://git@git.mooctest.com:1022/crowd-2019/crowd-test-service-private-cloud.git'
  9. sh 'pwd && ls -al'
  10. sh 'chmod -R 777 ./crowd-service/TestFileSystem/'
  11. }
  12. }
  13. stage('cofotest-backend-job') {
  14. //后端构建
  15. steps{
  16. echo "crowd-service private cloud [backend] building..."
  17. // sh 'docker rmi $(docker images --filter=reference="crowd-backend" -q)'
  18. build job: '构建-群智项目后端-私有云环境', quietPeriod: 0
  19. echo "copy [backend image] to ./crowd-service/entity "
  20. sh 'cp ../构建-群智项目后端-私有云环境/crowd-backend.tar ./crowd-service/entity/'
  21. }
  22. }
  23. stage('cofotest-frontend-job') {
  24. //前端构建
  25. steps{
  26. echo "crowd-service private cloud [frontend] building..."
  27. // sh 'docker rmi $(docker images --filter=reference="crowd-frontend" -q)'
  28. build job: '构建-群智项目前端-私有云环境', quietPeriod: 0
  29. echo "copy [fronend image] to ./crowd-service/ ..."
  30. sh 'cp -r ../构建-群智项目前端-私有云环境/crowd-frontend.tar ./crowd-service/entity/'
  31. }
  32. }
  33. stage('cofotest-user-job') {
  34. //后端构建
  35. steps{
  36. echo "crowd-service private cloud [user] building..."
  37. // sh 'docker rmi $(docker images --filter=reference="crowd-user" -q)'
  38. build job: '构建-群智用户服务-私有云环境', quietPeriod: 0
  39. echo "copy [user image] to ./crowd-service/entity "
  40. sh 'cp ../构建-群智用户服务-私有云环境/crowd-user.tar ./crowd-service/entity/'
  41. }
  42. }
  43. stage('cofotest-mysql-job') {
  44. steps{
  45. echo 'cofotest db build'
  46. sh 'docker rmi $(docker images --filter=reference="crowd-mysql" -q)'
  47. sh 'cd ./crowd-service/private-docker/mysql/ && docker build -t crowd-mysql .'
  48. sh 'docker save -o ./crowd-service/entity/crowd-mysql.tar crowd-mysql && ls -sl ./crowd-service/entity/'
  49. }
  50. }
  51. stage('cofotest-redis-job') {
  52. steps{
  53. echo 'redis docker build'
  54. sh 'docker rmi $(docker images --filter=reference="crowd-redis" -q)'
  55. sh 'docker pull redis:latest'
  56. sh 'docker tag redis:latest crowd-redis'
  57. sh 'docker save -o ./crowd-service/entity/crowd-redis.tar crowd-redis && ls -sl ./crowd-service/entity/'
  58. }
  59. }
  60. stage('zip-job') {
  61. //压缩部署环境
  62. steps{
  63. echo 'zip private crowd-service'
  64. // sh "rm -f private-crowd-service.zip"
  65. sh "zip -r private-crowd-service.zip ./crowd-service/"
  66. echo 'private-crowd-service.zip的大小'
  67. sh "ls -alh"
  68. }
  69. }
  70. stage('upload-job') {
  71. //上传到oss
  72. steps{
  73. echo 'upload private crowd-service'
  74. sh 'echo v${BUILD_NUMBER} >> private_crowd_service.txt'
  75. sh 'env LANG=en_US.UTF-8 date'
  76. sh "env LANG=en_US.UTF-8 /bin/bash ./shell/oss.sh put private-crowd-service.txt private_cloud/crowd-test-service/private-crowd-service.txt"
  77. sh "env LANG=en_US.UTF-8 /bin/bash ./shell/oss.sh put private-crowd-service.zip private_cloud/crowd-test-service/data/private-crowd-service.v${BUILD_NUMBER}.zip"
  78. }
  79. }
  80. }
  81. post {
  82. // 后续的清理工作
  83. always {
  84. echo "试一下post"
  85. }
  86. success {
  87. // build job: '私有云自动化部署', quietPeriod: 2
  88. echo "success"
  89. }
  90. }
  91. }