Tools like gitlab's CI or Jenkins handle builds and tests on docker containers nicely. It would be great if one could just say:
image: pureos:green
there and test against a current image.
Any image created ought to be reproducible.
Tools like gitlab's CI or Jenkins handle builds and tests on docker containers nicely. It would be great if one could just say:
image: pureos:green
there and test against a current image.
Any image created ought to be reproducible.
I'm wondering if this is on anyone's horizon yet? If not I would put it on my TODO list since it would be good to have this running so we can test phone stuff on PureOS in gitlab's CI as well (instead of "only" Debian testing).
I've added support to debuerreotype for that https://github.com/debuerreotype/debuerreotype/pull/63 and put current images here: https://hub.docker.com/r/godiug/pureos/tags
The only thing missing is running this continously and either uploading the images to our gitlab instance or dockerhub. Could someone on the PureOS side take that from here?
@guido If you were to outline the steps you took for creating the 'green' docker image, I could follow that and put them into a pureos.sh script to submit upstream. I'm also setting this up to be automated.
#!/bin/bash set -e rm -rf output DIST=green TAG="godiug/pureos" DATE=$(date +'%Y%m%d') function build() { ./pureos.sh output "${DIST}" } function import() { docker image import output/pureos/amd64/green/rootfs.tar.xz "${TAG}:${DIST}-${DATE}" docker image import output/pureos/amd64/green/slim/rootfs.tar.xz "${TAG}:${DIST}-slim-${DATE}" docker tag "${TAG}:${DIST}-slim-${DATE}" "${TAG}:${DIST}-slim" docker tag "${TAG}:${DIST}-${DATE}" "${TAG}:${DIST}" } function push() { for image in "${TAG}:${DIST}-slim-${DATE}" "${TAG}:${DIST}-${DATE}" "${TAG}:${DIST}-slim" "${TAG}:${DIST}"; do docker push "${image}" done } build import push
I found Guido's pureos.sh script upstream: https://github.com/agx/debuerreotype/blob/pureos/pureos.sh
Now one can just call docker and the version of the PureOS distro image you want, like this;
docker pull pureos/amber:latest docker pull pureos/byzantium:latest # quay.io (Red Hat's container registry) docker pull quay.io/jeremiah/byzantium:latest
One can even use the ARM v8 container as well;
docker pull pureos/amber-arm64:latest