From a959fcff3e0c1794fbd2e40ce0e1704436fe2ee6 Mon Sep 17 00:00:00 2001 From: Anton Tetov <anton@tetov.se> Date: Fri, 11 Oct 2024 16:35:26 +0200 Subject: [PATCH] use podman in shell executor and control docker registry --- .gitignore | 1 + .gitlab-ci.yml | 44 ++++++++++++-------------------------------- 2 files changed, 13 insertions(+), 32 deletions(-) diff --git a/.gitignore b/.gitignore index d565d59..53af69d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ build/ **/.build **/build **__pycache__ +.vscode/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f536f4a..e683981 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,37 +1,17 @@ -# This file is a template, and might need editing before it works on your project. -# To contribute improvements to CI/CD templates, please follow the Development guide at: -# https://docs.gitlab.com/ee/development/cicd/templates.html -# This specific template is located at: -# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Docker.gitlab-ci.yml - -# Build a Docker image with CI/CD and push to the GitLab registry. -# Docker-in-Docker documentation: https://docs.gitlab.com/ee/ci/docker/using_docker_build.html -# -# This template uses one generic job with conditional builds -# for the default branch and all other (MR) branches. - -docker-build: - # Use the official docker image. - image: docker:cli +variables: + DOCKER_REGISTRY: docker.control.lth.se + CI_REGISTRY_IMAGE: $DOCKER_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME +podman-build: + image: quay.io/podman/stable + # tags: + # - docker stage: build - services: - - docker:dind - variables: - DOCKER_IMAGE_NAME: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG - before_script: - - echo "$CI_REGISTRY_PASSWORD" | docker login $CI_REGISTRY -u $CI_REGISTRY_USER --password-stdin || echo failed - # All branches are tagged with $DOCKER_IMAGE_NAME (defaults to commit ref slug) - # Default branch is also tagged with `latest` script: - - docker build --pull -t "$DOCKER_IMAGE_NAME" . - - docker push "$DOCKER_IMAGE_NAME" + - podman login -u "$DOCKER_REGISTRY_USER" -p "$DOCKER_REGISTRY_PASSWORD" "$DOCKER_REGISTRY" + - podman build -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" . + - podman push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" - | if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then - docker tag "$DOCKER_IMAGE_NAME" "$CI_REGISTRY_IMAGE:latest" - docker push "$CI_REGISTRY_IMAGE:latest" + podman tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" "$CI_REGISTRY_IMAGE:latest" + podman push "$CI_REGISTRY_IMAGE:latest" fi - # Run this job in a branch where a Dockerfile exists - rules: - - if: $CI_COMMIT_BRANCH - exists: - - Dockerfile -- GitLab