Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.1 KiB
Newer Older
stages:
  - build
  - tag-latest
  - trigger
Corné Lukken's avatar
Corné Lukken committed

default:
  image: docker:latest
  
variables:
  IMAGE_TAG: $CI_COMMIT_REF_SLUG-$CI_PIPELINE_ID

before_script:
  - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY

.default_rules:
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH

build:
  stage: build
Corné Lukken's avatar
Corné Lukken committed
  tags:
    - dind
  script:
    - docker pull $CI_REGISTRY_IMAGE:latest || true
    - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$IMAGE_TAG .
    - docker push $CI_REGISTRY_IMAGE:$IMAGE_TAG
    
tag-latest:
  stage: tag-latest
Corné Lukken's avatar
Corné Lukken committed
  tags:
    - dind
Corné Lukken's avatar
Corné Lukken committed
    - docker pull $CI_REGISTRY_IMAGE:$IMAGE_TAG
    - docker tag $CI_REGISTRY_IMAGE:$IMAGE_TAG $CI_REGISTRY_IMAGE:latest
    - docker push $CI_REGISTRY_IMAGE:latest
  rules:
    - !reference [.default_rules, rules]

trigger-tango:
  stage: trigger
  trigger: lofar2.0/tango
  rules:
    - !reference [.default_rules, rules]

# has no CI/CD yet
# trigger-operations-central-management:
#  stage: trigger
#  trigger: lofar2.0/operations-central-management
#  rules:
Corné Lukken's avatar
Corné Lukken committed
#    - !reference [.default_rules, rules]