1
0
Fork 0

draft: ci: build container image
dustin/pythonctnr/pipeline/head This commit looks good Details

Dustin 2022-08-07 11:55:09 -05:00
parent 0f118ec0c6
commit 4d6ddde0f7
6 changed files with 56 additions and 3 deletions

20
ci/Jenkinsfile vendored
View File

@ -47,11 +47,25 @@ pipeline {
stage('Build') {
steps {
sh 'make -C buildroot O="${PWD}"/_build BR2_EXTERNAL="${PWD}" pythonctnr_defconfig'
sh 'make -C _build'
sh '. ci/build.sh'
}
}
stage('Build Container') {
steps {
container('buildah') {
sh '. ci/build-container.sh'
}
}
}
stage('Publish Container') {
steps {
container('buildah') {
sh '. ci/publish-container.sh'
}
}
}
}
}

8
ci/build-container.sh Normal file
View File

@ -0,0 +1,8 @@
#!/bin/sh
. ci/container-common.sh
ctnr=$(buildah from scratch)
buildah add ${ctnr} _build/images/rootfs.tar /
buildah config --cmd python ${ctnr}
buildah commit ${ctnr} pythonctnr:$(tag_name ${BUILD_TAG})

5
ci/build.sh Normal file
View File

@ -0,0 +1,5 @@
#!/bin/sh
# vim: set sw=4 ts=4 sts=4 et :
make -C buildroot O="${PWD}"/_build BR2_EXTERNAL="${PWD}" pythonctnr_defconfig
make -C _build

5
ci/container-common.sh Normal file
View File

@ -0,0 +1,5 @@
# shellcheck: shell=sh
tag_name() {
echo "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g' -e 's/^[.-]/_/'
}

View File

@ -13,6 +13,13 @@ spec:
securityContext:
readOnlyRootFilesystem: true
runAsUser: 1000
- name: buildah
image: quay.io/containers/buildah:v1
command:
- sleep
- infinity
securityContext:
privileged: true
volumes:
- name: tmp
emptyDir:

14
ci/publish-container.sh Normal file
View File

@ -0,0 +1,14 @@
#!/bin/sh -ex
. ci/container-common.sh
push() {
tag=$(tag_name "$1")
buildah push pythonctnr:$(tag_name ${BUILD_TAG}) registry.pyrocufflink.blue/pythonctnr:${tag}
}
push ${BUILD_TAG}
push ${BRANCH_NAME}
if [ "${BRANCH_NAME}" = master ]; then
push latest
fi