| pipeline { |
| agent { |
| kubernetes { |
| label 'my-agent-pod' |
| yaml """ |
| apiVersion: v1 |
| kind: Pod |
| spec: |
| containers: |
| - name: jnlp |
| volumeMounts: |
| - name: volume-known-hosts |
| mountPath: /home/jenkins/.ssh |
| - name: win-gnu |
| image: rbaldwin1/rust-mingw |
| tty: true |
| command: |
| - cat |
| resources: |
| limits: |
| memory: 3Gi |
| cpu: 1 |
| requests: |
| memory: 3Gi |
| cpu: 1 |
| env: |
| - name: "HOME" |
| value: "/home/jenkins" |
| - name: "CARGO_HOME" |
| value: "/home/jenkins/.cargo/" |
| volumeMounts: |
| - mountPath: "/home/jenkins" |
| name: "jenkins-home" |
| readOnly: false |
| volumes: |
| - name: volume-known-hosts |
| configMap: |
| name: known-hosts |
| - name: "jenkins-home" |
| emptyDir: {} |
| """ |
| } |
| } |
| options { |
| timestamps() |
| } |
| |
| stages { |
| |
| stage('Build') { |
| steps { |
| container('win-gnu') { |
| sh 'cargo build --target x86_64-pc-windows-gnu --release' |
| } |
| } |
| } |
| stage('Deploy') { |
| steps { |
| container('jnlp') { |
| sshagent ( ['projects-storage.eclipse.org-bot-ssh']) { |
| sh ''' |
| ssh -o BatchMode=yes genie.osee@projects-storage.eclipse.org rm -rf /home/data/httpd/download.eclipse.org/technology/osee/downloads/bat/x86_64-win/1.0.5 |
| ssh -o BatchMode=yes genie.osee@projects-storage.eclipse.org mkdir -p /home/data/httpd/download.eclipse.org/technology/osee/downloads/bat/x86_64-win/1.0.5 |
| scp -o BatchMode=yes -r ./target/x86_64-pc-windows-gnu/release/bat.exe genie.osee@projects-storage.eclipse.org:/home/data/httpd/download.eclipse.org/technology/osee/downloads/bat/x86_64-win/1.0.5 |
| ''' |
| } |
| } |
| } |
| } |
| } |
| } |