82 lines
2.5 KiB
YAML
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 |