aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2020-07-13 15:41:22 +0200
committerGerd Hoffmann <kraxel@redhat.com>2020-07-13 15:41:22 +0200
commitd4fe5111452e43e19936a84d3ee406ee2ebae05e (patch)
tree266a8c8950a0560b951ea5e1fe872487ed1caf18
parenta29c869651682b9b4acbd7edafab78a18f19b09a (diff)
downloadpodman-docker-builder-d4fe5111452e43e19936a84d3ee406ee2ebae05e.tar.gz
add gitlab-ci-template.yml
-rw-r--r--gitlab-ci-template.yml47
1 files changed, 47 insertions, 0 deletions
diff --git a/gitlab-ci-template.yml b/gitlab-ci-template.yml
new file mode 100644
index 0000000..17881ec
--- /dev/null
+++ b/gitlab-ci-template.yml
@@ -0,0 +1,47 @@
+# https://blog.callr.tech/building-docker-images-with-gitlab-ci-best-practices/
+# comments dropped, updated for podman builds
+
+image: registry.gitlab.com/kraxel/podman-docker-builder:latest
+
+stages:
+ - build
+ - push
+
+before_script:
+ - podman login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
+
+Build:
+ stage: build
+ script:
+ - podman pull $CI_REGISTRY_IMAGE:latest || true
+ - >
+ podman build
+ --pull
+ --build-arg VCS_REF=$CI_COMMIT_SHA
+ --build-arg VCS_URL=$CI_PROJECT_URL
+ --cache-from $CI_REGISTRY_IMAGE:latest
+ --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
+ .
+ - podman push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
+
+Push latest:
+ variables:
+ GIT_STRATEGY: none
+ stage: push
+ only:
+ - master
+ script:
+ - podman pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
+ - podman tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:latest
+ - podman push $CI_REGISTRY_IMAGE:latest
+
+Push tag:
+ variables:
+ GIT_STRATEGY: none
+ stage: push
+ only:
+ - tags
+ script:
+ - podman pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
+ - podman tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
+ - podman push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME