Jenkinsfile 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!groovy
  2. pipeline {
  3. agent any
  4. parameters {
  5. string(name: 'TAG_NAME', defaultValue: '', description: '')
  6. }
  7. environment {
  8. // DockerHub 凭证 ID(登录您的 DockerHub)
  9. DOCKER_CREDENTIAL_ID = 'dockerhub-id'
  10. // GitHub 凭证 ID (推送 tag 到 GitHub 仓库)
  11. GITHUB_CREDENTIAL_ID = 'github-id'
  12. // kubeconfig 凭证 ID (访问接入正在运行的 Kubernetes 集群)
  13. KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
  14. // 镜像的推送
  15. REGISTRY = 'docker.io'
  16. // DockerHub 账号名
  17. DOCKERHUB_NAMESPACE = 'docker_username'
  18. // GitHub 账号名
  19. GITHUB_ACCOUNT = 'https://gitee.com/zhijiantianya/ruoyi-vue-pro'
  20. // 应用名称
  21. APP_NAME = 'yudao-admin-server'
  22. // 应用部署路径
  23. APP_DEPLOY_BASE_DIR = '/media/pi/KINGTON/data/work/projects/'
  24. }
  25. stages {
  26. stage('检出') {
  27. steps {
  28. git url: "https://gitee.com/will-we/ruoyi-vue-pro.git",
  29. branch: "devops"
  30. }
  31. }
  32. stage('构建') {
  33. steps {
  34. sh 'mvn clean package -Dmaven.test.skip=true'
  35. }
  36. }
  37. stage('部署') {
  38. steps {
  39. sh 'cp -f ' + ' bin/deploy.sh ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}"
  40. sh 'cp -f ' + "${env.APP_NAME}" + '/target/*.jar ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" +'/build/'
  41. archiveArtifacts "${env.APP_NAME}" + '/target/*.jar'
  42. sh 'chmod +x ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" + '/deploy.sh'
  43. sh 'bash ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" + '/deploy.sh'
  44. }
  45. }
  46. }
  47. }