Using GitLab CI/CD to build your cloud images

To assist Researchers and Students with the deployment of services in public and private clouds OIT has deployed a Community Edition of GITLab including support for GITLab CI/CD.

 

To configure a docker-enabled project developers must include a .gitlab-ci.yml file in the root of their project. The project may need to be customized to build your project.

image: docker

variables:

  CONTAINER_ALL_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA CONTAINER_BRANCH_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH   CONTAINER_LATEST_IMAGE: $CI_REGISTRY_IMAGE:latest 


services:
  - name: docker:dind
    command: ["--mtu=1450"]

stages:
  - build
  - test
  - push
  - deploy

before_script:
  - until docker info; do sleep 1; done
  - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY


build:
  stage: build
  script:
    - docker pull $CONTAINER_LATEST_IMAGE || true
    - docker build --cache-from $CONTAINER_LATEST_IMAGE -t $CONTAINER_ALL_IMAGE  .
    - docker tag $CONTAINER_ALL_IMAGE $CONTAINER_BRANCH_IMAGE
    - docker push $CONTAINER_ALL_IMAGE
    - docker push $CONTAINER_BRANCH_IMAGE

push_main:
  stage: push
  script:
    - docker pull $ONTAINER_ALL_IMAGE
    - docker tag $CONTAINER_ALL_IMAGE $CONTAINER_LATEST_IMAGE
    - docker push $CONTAINER_LATEST_IMAGE
  only:
    - master
    - main

 

 

Details

Article ID: 142120
Created
Sat 9/24/22 9:52 PM
Modified
Mon 5/8/23 8:20 AM