summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml44
1 files changed, 44 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..44a501e
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,44 @@
+image: registry.gitlab.com/kraxel/podman-docker-builder:latest
+
+stages:
+ - build
+ - push
+
+before_script:
+ - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
+
+Build:
+ stage: build
+ script:
+ - docker pull $CI_REGISTRY_IMAGE:latest || true
+ - >
+ docker 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
+ .
+ - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
+
+Push latest:
+ variables:
+ GIT_STRATEGY: none
+ stage: push
+ only:
+ - master
+ script:
+ - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
+ - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:latest
+ - docker push $CI_REGISTRY_IMAGE:latest
+
+Push tag:
+ variables:
+ GIT_STRATEGY: none
+ stage: push
+ only:
+ - tags
+ script:
+ - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
+ - docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
+ - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME