-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathJenkinsfile-kaniko-maven
59 lines (55 loc) · 2.12 KB
/
Jenkinsfile-kaniko-maven
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
pipeline {
agent {
kubernetes {
yamlFile 'Jenkins-maven-amd64.yaml'
workspaceVolume dynamicPVC(storageClassName:'ebs-gp3-sc', accessModes: 'ReadWriteOnce', requestsSize: '10Gi')
}
}
stages {
stage('Compile & Build'){
parallel {
stage("Compile & Build for AMD64 platform") {
steps {
container('maven') {
sh 'mvn clean package -Dmaven.test.skip=true'
}
container('kaniko') {
sh '/kaniko/executor --context `pwd` --dockerfile `pwd`/DockerfileWithoutMaven --destination 899578970796.dkr.ecr.us-west-2.amazonaws.com/java-demo:202310-02-amd64'
}
}
}
stage("Compile & Build for ARM64 platform") {
agent {
kubernetes {
yamlFile 'Jenkins-maven-arm64.yaml'
workspaceVolume dynamicPVC(storageClassName:'ebs-gp3-sc', accessModes: 'ReadWriteOnce', requestsSize: '10Gi')
}
}
steps {
container('maven') {
sh 'mvn clean package -Dmaven.test.skip=true'
}
container('kaniko') {
sh '/kaniko/executor --context `pwd` --dockerfile `pwd`/DockerfileWithoutMaven --destination 899578970796.dkr.ecr.us-west-2.amazonaws.com/java-demo:202310-02-arm64'
}
}
}
}
}
stage('Manifest'){
agent {
kubernetes {
yamlFile 'Jenkins-manifest-tool.yaml'
}
}
steps {
container('manifest-tool') {
sh 'docker-credential-ecr-login list'
sh 'chmod 700 ecrtodocker.sh'
sh './ecrtodocker.sh'
sh '/go/src/github.com/manifest-tool/manifest-tool push from-args --platforms linux/amd64,linux/arm64 --template 899578970796.dkr.ecr.us-west-2.amazonaws.com/java-demo:202310-02-ARCHVARIANT --target 899578970796.dkr.ecr.us-west-2.amazonaws.com/java-demo:202310-02'
}
}
}
}
}