blob: 24aa17a67d89fc7ec188a2141bbb9a3b2244f2ef (
plain)
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
pipeline {
agent none
options {
timestamps()
}
environment {
KIWI_FILE = 'Fedora.kiwi'
IMAGE_TYPE = 'iso'
IMAGE_PROFILE = 'Workstation-Live'
IMAGE_VERSION = '45'
OUTPUT_DIR = 'outdir'
}
stages {
stage('Build Fedora Workstation Live ISO (ARM64)') {
agent {
kubernetes {
defaultContainer 'kiwi'
yaml """
apiVersion: v1
kind: Pod
metadata:
namespace: jenkins
spec:
nodeSelector:
kubernetes.io/arch: arm64
containers:
- name: kiwi
image: fedora:44
imagePullPolicy: Always
command: [ 'sleep' ]
args: [ 'infinity' ]
tty: true
securityContext:
privileged: true
resources:
requests:
cpu: "2"
memory: 4Gi
ephemeral-storage: 20Gi
limits:
memory: 12Gi
ephemeral-storage: 50Gi
"""
}
}
steps {
checkout scm
container('kiwi') {
script {
try {
sh '''
dnf --assumeyes install git kiwi kiwi-systemdeps distribution-gpg-keys
git config --global --add safe.directory .
git submodule update --init --recursive
./kiwi-build \\
--kiwi-file="${KIWI_FILE}" \\
--image-type="${IMAGE_TYPE}" \\
--image-profile="${IMAGE_PROFILE}" \\
--output-dir "${OUTPUT_DIR}"
ls -lh "${OUTPUT_DIR}-build"
'''
} catch (Exception e) {
echo "Caught exception: ${e.getMessage()}"
currentBuild.result = 'FAILURE'
throw e
}
}
stash name: "fedora-workstation-live-iso-stash", includes: "${OUTPUT_DIR}-build/Fedora.aarch64-${IMAGE_VERSION}.iso"
}
}
}
stage('Push Fedora Workstation Live ISO (ARM64)') {
agent {
kubernetes {
defaultContainer 's5cmd'
yaml """
apiVersion: v1
kind: Pod
metadata:
namespace: jenkins
spec:
containers:
- name: s5cmd
image: peakcom/s5cmd:v2.3.0
imagePullPolicy: IfNotPresent
command: [ 'sleep' ]
args: [ 'infinity' ]
tty: true
resources:
requests:
cpu: "0.5"
memory: 4Gi
"""
}
}
steps {
container('s5cmd') {
unstash "fedora-workstation-live-iso-stash"
sh '''
cd ${OUTPUT_DIR}-build
moddate=$(date -r Fedora.aarch64-${IMAGE_VERSION}.iso -u +"%Y%m%d-%H%M%S")
mv Fedora.aarch64-${IMAGE_VERSION}.iso "Fedora.Surface-Pro-12in.${IMAGE_PROFILE}.${IMAGE_VERSION}.${moddate}.aarch64.iso"
ls -lh
'''
}
}
}
}
}
|