| pipeline { |
| agent { |
| kubernetes { |
| label 'hawk-pod' |
| yaml """ |
| apiVersion: v1 |
| kind: Pod |
| spec: |
| containers: |
| - name: maven |
| image: maven:3.6.1-jdk-8 |
| command: |
| - cat |
| tty: true |
| resources: |
| limits: |
| memory: "7Gi" |
| cpu: "1" |
| requests: |
| memory: "4Gi" |
| cpu: "1" |
| env: |
| - name: "MAVEN_OPTS" |
| value: "-Duser.home=/home/jenkins" |
| volumeMounts: |
| - name: settings-xml |
| mountPath: /home/jenkins/.m2/settings.xml |
| subPath: settings.xml |
| readOnly: true |
| - name: toolchains-xml |
| mountPath: /home/jenkins/.m2/toolchains.xml |
| subPath: toolchains.xml |
| readOnly: true |
| - name: m2-repo |
| mountPath: /home/jenkins/.m2/repository |
| - name: volume-known-hosts |
| mountPath: /home/jenkins/.ssh |
| volumes: |
| - name: settings-xml |
| secret: |
| secretName: m2-secret-dir |
| items: |
| - key: settings.xml |
| path: settings.xml |
| - name: m2-repo |
| emptyDir: {} |
| - name: toolchains-xml |
| configMap: |
| name: m2-dir |
| items: |
| - key: toolchains.xml |
| path: toolchains.xml |
| - name: volume-known-hosts |
| configMap: |
| name: known-hosts |
| """ |
| } |
| } |
| triggers { |
| pollSCM('H/5 * * * *') |
| } |
| stages { |
| stage('Build') { |
| steps { |
| container('maven') { |
| sh './build.sh' |
| } |
| } |
| post { always { junit '**/TEST-*.xml' } } |
| } |
| } |
| post { |
| changed { |
| emailext(body: "${currentBuild.currentResult}: Job ${env.JOB_NAME} build ${env.BUILD_NUMBER}\n More info at: ${env.BUILD_URL}", |
| recipientProviders: [[ |
| $class: "DevelopersRecipientProvider", |
| $class: "RequesterRecipientProvider" |
| ]], |
| subject: "Jenkins Build ${currentBuild.currentResult}: Job ${env.JOB_NAME}") |
| } |
| } |
| } |