mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-11-14 00:35:41 +00:00
85 lines
2.8 KiB
YAML
85 lines
2.8 KiB
YAML
include:
|
|
- template: Security/Container-Scanning.gitlab-ci.yml
|
|
|
|
##############################################################################
|
|
# Pipeline stages in order of execution #
|
|
##############################################################################
|
|
stages:
|
|
- build
|
|
- publish
|
|
- sca
|
|
|
|
##############################################################################
|
|
# Pipeline behavior #
|
|
##############################################################################
|
|
workflow:
|
|
rules:
|
|
# Run the pipeline on commits to the default branch
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
variables:
|
|
# Set the Docker image tag to `latest`
|
|
DOCKER_IMAGE: $CI_REGISTRY_IMAGE:latest
|
|
when: always
|
|
# Run the pipeline on tag creation
|
|
- if: $CI_COMMIT_TAG
|
|
variables:
|
|
# Set the Docker image tag to the Git tag name
|
|
DOCKER_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
|
|
when: always
|
|
# Don't run the pipeline on all other occasions
|
|
- when: never
|
|
|
|
##############################################################################
|
|
# Default values for pipeline jobs #
|
|
##############################################################################
|
|
default:
|
|
image: docker:24.0.6
|
|
services:
|
|
- docker:24.0.6-dind
|
|
tags:
|
|
- docker
|
|
|
|
##############################################################################
|
|
# CI/CD variables for all jobs in the pipeline #
|
|
##############################################################################
|
|
variables:
|
|
DOCKER_TLS_CERTDIR: /certs
|
|
DOCKER_BUILD_PATH: .
|
|
DOCKERFILE: Dockerfile
|
|
|
|
##############################################################################
|
|
# Pipeline jobs #
|
|
##############################################################################
|
|
build:
|
|
stage: build
|
|
script:
|
|
- docker build --tag $DOCKER_IMAGE --file $DOCKERFILE $DOCKER_BUILD_PATH
|
|
- docker save $DOCKER_IMAGE > docker_image.tar
|
|
artifacts:
|
|
paths:
|
|
- docker_image.tar
|
|
|
|
publish:
|
|
stage: publish
|
|
before_script:
|
|
- docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY
|
|
script:
|
|
- docker load --input docker_image.tar
|
|
- docker push $DOCKER_IMAGE
|
|
after_script:
|
|
- docker logout $CI_REGISTRY
|
|
|
|
container_scanning:
|
|
stage: sca
|
|
rules:
|
|
# Run the job on commits to the default branch
|
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
|
when: always
|
|
# Run the job on tag creation
|
|
- if: $CI_COMMIT_TAG
|
|
when: always
|
|
# Don't run the job on all other occasions
|
|
- when: never
|
|
variables:
|
|
CS_IMAGE: $DOCKER_IMAGE
|