Jenkinsfile 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!groovy
  2. pipeline {
  3. agent any
  4. tools { nodejs "nodejs" }
  5. parameters {
  6. string(name: 'TAG_NAME', defaultValue: '', description: '')
  7. }
  8. environment {
  9. APP_NAME = 'yudao-admin-ui'
  10. NGINX_WORKDIR = '/home/pi/mydata/nginx/html/'
  11. }
  12. stages {
  13. stage('检出') {
  14. steps {
  15. git url: "https://gitee.com/will-we/ruoyi-vue-pro.git",
  16. branch: "devops"
  17. }
  18. }
  19. stage('构建') {
  20. steps {
  21. sh 'cnpm --prefix '+ "${env.APP_NAME}" +' install'
  22. sh 'cnpm --prefix '+ "${env.APP_NAME}" +' run build:prod'
  23. }
  24. }
  25. stage('部署') {
  26. steps {
  27. sh 'mkdir -p ' + "${env.NGINX_WORKDIR}" + "${env.APP_NAME}"
  28. sh 'cp -rf ' + "${env.APP_NAME}" + '/dist/. ' + "${env.NGINX_WORKDIR}" + "${env.APP_NAME}"
  29. sh 'tar -zcvf ' + "${env.APP_NAME}" + '/'+ "${env.APP_NAME}" + '.tar.gz ' + "${env.APP_NAME}" + '/dist/'
  30. archiveArtifacts "${env.APP_NAME}" + '/'+ "${env.APP_NAME}" + '.tar.gz'
  31. //TODO 考虑刷新缓存的问题
  32. }
  33. }
  34. }
  35. }