Jenkinsfile 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. // 所有脚本命令包含在pipeline{}中
  2. pipeline {
  3. // 指定任务在哪个节点执行(Jenkins支持分布式)
  4. agent any
  5. // 配置全局环境,指定变量名=变量值信息
  6. environment{
  7. host = '172.17.1.22'
  8. }
  9. // 存放所有任务的合集
  10. stages {
  11. // 单个任务
  12. // stage('拉取Git代码') {
  13. // // 实现任务的具体流程
  14. // steps {
  15. // git branch: '${BRANCH_NAME}', credentialsId: 'b4978113-0120-47f8-b809-ba6916afc6e0', url: 'http://192.168.32.253:3000/Software/android-cloud-H5.git'
  16. // }
  17. // }
  18. // 单个任务
  19. stage('初始化构建环境') {
  20. // 实现任务的具体流程
  21. steps {
  22. nodejs('v16') {
  23. // sh '. /usr/local/src/.nvm/nvm.sh'
  24. // sh 'nvm install v16'
  25. // sh 'nvm use v16'
  26. sh '''
  27. node -v
  28. npm -v
  29. npm install
  30. '''
  31. }
  32. }
  33. }
  34. stage('构建项目') {
  35. if ( env.BRANCH_NAME == 'master' ) {
  36. nodejs('v16') {
  37. sh 'npm run build:prod'
  38. }
  39. } else if ( env.BRANCH_NAME == 'uat' ){
  40. nodejs('v16') {
  41. sh 'npm run build:uat'
  42. }
  43. } else {
  44. nodejs('v16') {
  45. sh 'npm run build:test'
  46. }
  47. }
  48. // parallel {
  49. // stage("build prod") {
  50. // when { branch 'master' }
  51. // steps {
  52. // script {
  53. // if () {}
  54. // }
  55. // nodejs('v16') {
  56. // sh 'npm run build:prod'
  57. // }
  58. // }
  59. // }
  60. // stage("build uat") {
  61. // when { branch 'uat' }
  62. // steps {
  63. // nodejs('v16') {
  64. // sh 'npm run build:uat'
  65. // }
  66. // }
  67. // }
  68. // stage("build test") {
  69. // when { branch 'feature/jenkinsfile' }
  70. // steps {
  71. // nodejs('v16') {
  72. // sh 'npm run build:test'
  73. // }
  74. // }
  75. // }
  76. // }
  77. }
  78. }
  79. }