Jenkinsfile-dev.groovy 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. pipeline {
  2. agent any
  3. environment {
  4. GITURL = 'http://101.36.160.140:21044/delivery-warehouse-java/delivery-depot-admin.git'
  5. //git地址
  6. GETBRANCH = 'master' //git 分支 变更分支注意修改这里
  7. CONFIGNAME = '128' //选择配置好的部署服务器名称
  8. SOURCEFILES = 'delivery-server/target/delivery-server.jar' //jar 包在 Jenkins 工作空间+项目名称下 的相对路径
  9. REMOVEPREFIX = 'delivery-server/target/' //去除前缀,只要 jar 包名称
  10. REMOTEDIRECTORY = '/home/delivery/jar/dev' //部署路径
  11. EXECCOMMAND = 'cd /home/delivery/jar/dev && ./start.sh && ps aux | grep java' //执行命令,启动项目 && ./start.sh
  12. }
  13. stages {
  14. stage('pull code') {
  15. steps {
  16. echo '从 gitlab 拉取代码'
  17. git branch: "${GETBRANCH}", credentialsId: '71f78619-368a-4880-b752-0feec5fd34e0', url: "${GITURL}"
  18. }
  19. }
  20. stage('build project') {
  21. steps {
  22. echo 'maven 编译项目'
  23. sh '''
  24. echo \'++++++++++开始打包+++++++++\'
  25. mvn clean package -Dmaven.test.skip=true
  26. echo \'++++++++++完成打包+++++++++\'
  27. '''
  28. }
  29. }
  30. stage('publish project') {
  31. steps {
  32. echo '开始推送 jar 包到部署服务器'
  33. sshPublisher(publishers: [
  34. sshPublisherDesc(
  35. configName: "${CONFIGNAME}", // 使用双引号引用变量
  36. transfers: [sshTransfer(
  37. cleanRemote: false,
  38. excludes: '',
  39. execCommand: "${EXECCOMMAND}", // 使用双引号引用变量
  40. execTimeout: 120000,
  41. flatten: false,
  42. makeEmptyDirs: false,
  43. noDefaultExcludes: false,
  44. patternSeparator: '[, ]+',
  45. remoteDirectory: "${REMOTEDIRECTORY}", // 使用双引号引用变量
  46. remoteDirectorySDF: false,
  47. removePrefix: "${REMOVEPREFIX}", // 使用双引号引用变量
  48. sourceFiles: "${SOURCEFILES}",// 使用双引号引用变量
  49. usePty: true
  50. )],
  51. usePromotionTimestamp: false,
  52. useWorkspaceInPromotion: false,
  53. verbose: false
  54. )
  55. ])
  56. }
  57. }
  58. }
  59. }