From e4f8a18129364b2ca48b90b2431f77dbb31d75b3 Mon Sep 17 00:00:00 2001 From: James Jones Date: Wed, 16 Nov 2022 13:02:40 -0500 Subject: [PATCH] Stubbing out very rough gitlab ci --- .gitlab-ci.yml | 102 ++++++++++++++++++++++++++++++++----------------- Dockerfile | 1 + 2 files changed, 69 insertions(+), 34 deletions(-) create mode 100644 Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3b52617..cd1da72 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,39 +1,73 @@ -image: registry.fedoraproject.org/fedora:latest - -variables: - SOMETHING: else - -stages: - - build - # - deploy - -services: - - docker:dind - -before_script: - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - -build:prereleases: +docker-build: + # Use the official docker image. + image: docker:latest stage: build + services: + - docker:dind + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + # Default branch leaves tag empty (= latest tag) + # All other branches are tagged with the escaped branch name (commit ref slug) script: - - export IMAGE_TAG=$(echo -en $CI_COMMIT_REF_NAME | tr -c '[:alnum]_.-' '-') - - docker build --pull -t "$CI_REGISTRY_IMAGE:CI_PROJECT_NAME-$IMAGE_TAG" . - - docker push "$CI_REGISTRY_IMAGE:$CI_PROJECT_NAME-$IMAGE_TAG" - only: - - branches - except: - - main + - | + if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then + tag="" + echo "Running on default branch '$CI_DEFAULT_BRANCH': tag = 'latest'" + else + tag=":$CI_COMMIT_REF_SLUG" + echo "Running on branch '$CI_COMMIT_BRANCH': tag = $tag" + fi + - docker build --pull -t "$CI_REGISTRY_IMAGE${tag}" . + - docker push "$CI_REGISTRY_IMAGE${tag}" + # Run this job in a branch where a Dockerfile exists + rules: + - if: $CI_COMMIT_BRANCH + exists: + - Dockerfile -build:releases: - stage: build - script: - - export IMAGE_TAG=$(echo -en $CI_COMMIT_REF_NAME | tr -c '[:alnum]_.-' '-') - - docker build --pull -t "$CI_REGISTRY_IMAGE:CI_PROJECT_NAME-$IMAGE_TAG" . - - docker push "$CI_REGISTRY_IMAGE:$CI_PROJECT_NAME-$IMAGE_TAG" - - docker tag "$CI_REGISTRY_IMAGE:$CI_PROJECT_NAME-$IMAGE_TAG" "$CI_REGISTRY_IMAGE:$CI_PROJECT_NAME-latest" - - docker push "$CI_REGISTRY_IMAGE:$CI_PROJECT_NAME-latest" - only: - - tags -# trigger_build: + + + + + + +# image: fedora:latest + +# variables: +# SOMETHING: else + +# stages: +# - build +# # - deploy + +# services: +# - docker:dind + +# before_script: +# - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + +# build:prereleases: +# stage: build +# script: +# - export IMAGE_TAG=$(echo -en $CI_COMMIT_REF_NAME | tr -c '[:alnum]_.-' '-') +# - docker build --pull -t "$CI_REGISTRY_IMAGE:CI_PROJECT_NAME-$IMAGE_TAG" . +# - docker push "$CI_REGISTRY_IMAGE:$CI_PROJECT_NAME-$IMAGE_TAG" +# only: +# - branches +# except: +# - main + +# build:releases: +# stage: build +# script: +# - export IMAGE_TAG=$(echo -en $CI_COMMIT_REF_NAME | tr -c '[:alnum]_.-' '-') +# - docker build --pull -t "$CI_REGISTRY_IMAGE:CI_PROJECT_NAME-$IMAGE_TAG" . +# - docker push "$CI_REGISTRY_IMAGE:$CI_PROJECT_NAME-$IMAGE_TAG" +# - docker tag "$CI_REGISTRY_IMAGE:$CI_PROJECT_NAME-$IMAGE_TAG" "$CI_REGISTRY_IMAGE:$CI_PROJECT_NAME-latest" +# - docker push "$CI_REGISTRY_IMAGE:$CI_PROJECT_NAME-latest" +# only: +# - tags + +# # trigger_build: diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9e0d97b --- /dev/null +++ b/Dockerfile @@ -0,0 +1 @@ +FROM registry.fedoraproject.org/fedora:latest \ No newline at end of file