mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-04 12:22:47 +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
 |