Jenkinsfile.groovy 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. String Dockerfile = """
  2. FROM 10.100.166.50:15001/library/jdk:1.8.0_341 as dev
  3. ADD gateway-Gemini-exec.jar app.jar
  4. ENTRYPOINT ["java", "-server", "-jar", "app.jar", "--spring.profiles.active=global", "--server.port=8080"]
  5. EXPOSE 8080
  6. """.trim()
  7. pipeline {
  8. agent any
  9. environment {
  10. // 源码配置
  11. git = 'http://git.galaxis.yvanui.com/thinking/thinkingframework.git'
  12. gitCredentials = 'lizw(git.galaxis.yvanui.com)'
  13. // 构建配置
  14. target = "${WORKSPACE}/cloud/gateway/target"
  15. dockerImgTag = "wms-gateway:v$BUILD_NUMBER"
  16. // harbor配置
  17. harbor = 'http://10.100.166.50:15001'
  18. harborCredentials = credentials('admin(10.100.166.50:15001)')
  19. harborRepositorie = 'wms'
  20. // 自定义环境变量
  21. JAVA_HOME = '/home/www/jenkins/jdk1.8.0_341'
  22. MAVEN_HOME = '/home/www/jenkins/apache-maven-3.8.6'
  23. NODE_HOME = '/home/www/jenkins/node-v16.17.0-linux-x64'
  24. PATH = "$JAVA_HOME/bin:$MAVEN_HOME/bin:$NODE_HOME/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin"
  25. }
  26. stages {
  27. stage('#检查环境') {
  28. steps {
  29. sh 'java -version'
  30. sh 'mvn --version'
  31. }
  32. }
  33. stage('#拉去代码') {
  34. steps {
  35. checkout([
  36. $class : 'GitSCM',
  37. branches : [[name: '*/develop']],
  38. userRemoteConfigs: [[url: "${git}", credentialsId: "${gitCredentials}"]],
  39. extensions : [],
  40. ])
  41. }
  42. }
  43. stage('#编译项目') {
  44. steps {
  45. sh 'mvn clean package -Dmaven.test.skip=true'
  46. }
  47. }
  48. stage('#构建镜像') {
  49. steps {
  50. sh """
  51. cd $target
  52. pwd
  53. echo '$Dockerfile' > Dockerfile
  54. sudo docker build --target dev -t $dockerImgTag $target
  55. """
  56. }
  57. }
  58. stage('#推送镜像') {
  59. steps {
  60. sh 'sudo docker login --username $harborCredentials_USR --password $harborCredentials_PSW $harbor'
  61. sh "sudo docker tag $dockerImgTag ${harbor.replaceAll('https?://', '')}/$harborRepositorie/$dockerImgTag"
  62. sh "sudo docker push ${harbor.replaceAll('https?://', '')}/$harborRepositorie/$dockerImgTag"
  63. }
  64. }
  65. }
  66. }