Jenkinsfile 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. pipeline {
  2. agent any
  3. environment {
  4. harborAddr='122.9.140.63:9010'
  5. harborRepo='repo'
  6. harborUser='admin'
  7. projectGitAddr='http://git.yvanui.com/jztd/wms84.git'
  8. projectPath='gateway/wms-gateway'
  9. projectPort=8088
  10. projectNodePort=30002
  11. }
  12. stages {
  13. stage('拉取代码') {
  14. steps {
  15. checkout([$class: 'GitSCM', branches: [[name: "${params.TAG}"]], extensions: [], userRemoteConfigs: [[credentialsId: 'jenkins-Gods', url: "${projectGitAddr}"]]])
  16. checkout([$class: 'GitSCM', branches: [[name: '*/8.4']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: "${WORKSPACE}/yvan-framework/"]], userRemoteConfigs: [[credentialsId: 'jenkins-Gods', url: 'http://git.yvanui.com/lizhiwei/yvan-framework.git']]])
  17. }
  18. }
  19. stage('构建代码') {
  20. steps {
  21. sh '/var/jenkins_home/gradle/bin/gradle clean build -x test -x javadocJar -x sourcesJar'
  22. }
  23. }
  24. stage('构建镜像') {
  25. steps {
  26. sh "docker build --build-arg PROJECT_NAME=${JOB_NAME} --build-arg DEPLOY_ENV=${ENV} -t ${JOB_NAME}:${TAG} ${WORKSPACE}/${projectPath}/"
  27. // sh "docker rmi $(docker images -f 'dangling=true' -q)"
  28. sh '''docker login -u ${harborUser} --password-stdin < /var/jenkins_home/docker/password ${harborAddr}
  29. docker tag ${JOB_NAME}:${TAG} ${harborAddr}/${harborRepo}/${JOB_NAME}:${TAG}
  30. docker push ${harborAddr}/${harborRepo}/${JOB_NAME}:${TAG}'''
  31. }
  32. }
  33. stage('部署') {
  34. steps {
  35. sh 'ssh root@192.168.0.185 "/usr/local/scripts/k8s/deploy.sh ${ENV} ${JOB_NAME} ${TAG} ${projectPort} ${projectNodePort}"'
  36. }
  37. }
  38. }
  39. }