Files
gitlab-ci/template/docker-image.gitlab-ci.yaml
Jon 04e7e928e0 feat(ci_rules): add exists and changes for rules
now defined jobs check for existance of file and for changes
to launch a job

!41 #32
2023-06-02 15:26:35 +09:30

82 lines
2.5 KiB
YAML

# This gitlab-ci file is used for creating docker images.
# by including this file, the jobs will be autocreated.
include:
- local: $JOB_ROOT_DIR/.gitlab-ci_common.yaml
- local: $JOB_ROOT_DIR/conventional_commits/.gitlab-ci.yml
- local: $JOB_ROOT_DIR/docker/build.gitlab-ci.yaml
- local: $JOB_ROOT_DIR/docker/publish.gitlab-ci.yaml
- local: $JOB_ROOT_DIR/git_push_mirror/.gitlab-ci.yml
- local: $JOB_ROOT_DIR/gitlab_release/.gitlab-ci.yml
variables:
# Available platforms: linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/arm64, linux/riscv64, linux/ppc64, linux/ppc64le, linux/s390x, linux/386, linux/mips64le, linux/mips64, linux/arm/v7, linux/arm/v6
# DOCKER_IMAGE_BUILD_TARGET_PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7"
DOCKER_IMAGE_BUILD_NAME: $CI_PROJECT_NAME
DOCKER_IMAGE_BUILD_REGISTRY: $CI_REGISTRY_IMAGE
DOCKER_IMAGE_BUILD_TAG: $CI_COMMIT_SHA
# DOCKER_IMAGE_PUBLISH_NAME: $CI_PROJECT_NAME
# DOCKER_IMAGE_PUBLISH_REGISTRY: docker.io/nofusscomputing
# DOCKER_IMAGE_PUBLISH_URL: https://hub.docker.com/r/nofusscomputing/$DOCKER_IMAGE_PUBLISH_NAME
# JOB_STOP_CONVENTIONAL_COMMITS: 'any_value'
# JOB_STOP_GIT_PUSH_MIRROR: 'any_value'
# GIT_SYNC_URL: "https://$GITHUB_USERNAME_ROBOT:$GITHUB_TOKEN_ROBOT@github.com/NoFussComputing/config.git" # Must be defined for job to run
# JOB_STOP_GITLAB_RELEASE: 'any value'
Docker Container:
extends: .build_docker_container
Docker.Hub.Branch.Publish:
extends: .publish-docker-hub
needs: [ "Docker Container" ]
rules: # rules manually synced from docker/publish.gitlab-ci.yaml removing git tag
- if: # condition_master_branch_push
$CI_COMMIT_BRANCH == "master" &&
$CI_PIPELINE_SOURCE == "push"
exists:
- '{dockerfile, dockerfile.j2}'
when: always
- if: # condition_dev_branch_push
$CI_COMMIT_BRANCH == "development" &&
$CI_PIPELINE_SOURCE == "push"
exists:
- '{dockerfile, dockerfile.j2}'
changes:
paths:
- '{dockerfile, dockerfile.j2, includes**/**}'
compare_to: 'master'
allow_failure: true
when: manual
- when: never
Docker.Hub.Tag.Publish:
extends: .publish-docker-hub
rules: # rules manually synced from docker/publish.gitlab-ci.yaml only keeping git tag
- if: # condition_git_tag
$CI_COMMIT_TAG != null &&
$CI_COMMIT_BRANCH == null
exists:
- '{dockerfile, dockerfile.j2}'
when: always
- when: never
Gitlab Release:
extends:
- .gitlab_release
Github (Push --mirror):
extends:
- .git_push_mirror