Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.64 KiB
Newer Older
Quentin Bramas's avatar
Quentin Bramas committed
build-docker-master:
Quentin Bramas's avatar
ci  
Quentin Bramas committed
  image: docker:25-dind
Quentin Bramas's avatar
Quentin Bramas committed
  stage: build
  services:
Quentin Bramas's avatar
ci  
Quentin Bramas committed
    - docker:25-dind
Quentin Bramas's avatar
Quentin Bramas committed
  before_script:
    - export DOCKER_REGISTRY_USER=$CI_REGISTRY_USER # built-in GitLab Registry User
    - export DOCKER_REGISTRY_PASSWORD=$CI_REGISTRY_PASSWORD # built-in GitLab Registry Password
    - export DOCKER_REGISTRY_URL=$CI_REGISTRY # built-in GitLab Registry URL
    - export COMMIT_HASH=$CI_COMMIT_SHA # Your current commit sha
    - echo "registry=$DOCKER_REGISTRY_URL"
    - export IMAGE_NAME_WITH_REGISTRY_PREFIX=$CI_REGISTRY_IMAGE # Your repository prefixed with GitLab Registry URL
    - docker login -u "$DOCKER_REGISTRY_USER" -p "$DOCKER_REGISTRY_PASSWORD" $DOCKER_REGISTRY_URL # Instructs GitLab to login to its registry

  script:
    - echo "Building Server..." # MAKE SURE NO SPACE ON EITHER SIDE OF = IN THE FOLLOWING LINE
Quentin Bramas's avatar
ci  
Quentin Bramas committed
    - export CONTAINER_FULL_IMAGE_NAME_WITH_TAG=${IMAGE_NAME_WITH_REGISTRY_PREFIX}/server:$COMMIT_HASH
Quentin Bramas's avatar
Quentin Bramas committed
    - docker build -f ./Dockerfile --pull -t built-image-name .
    - echo "new tag, $CONTAINER_FULL_IMAGE_NAME_WITH_TAG"
    - docker tag built-image-name "$CONTAINER_FULL_IMAGE_NAME_WITH_TAG"
    - docker push "$CONTAINER_FULL_IMAGE_NAME_WITH_TAG"

    - echo "Building Client..." # MAKE SURE NO SPACE ON EITHER SIDE OF = IN THE FOLLOWING LINE
Quentin Bramas's avatar
ci  
Quentin Bramas committed
    - export CONTAINER_FULL_IMAGE_NAME_WITH_TAG=${IMAGE_NAME_WITH_REGISTRY_PREFIX}/client:$COMMIT_HASH
Quentin Bramas's avatar
Quentin Bramas committed
    - docker build -f ./Dockerfile --pull -t built-image-name . -f Dockerfile-client
    - echo "new tag, $CONTAINER_FULL_IMAGE_NAME_WITH_TAG"
    - docker tag built-image-name "$CONTAINER_FULL_IMAGE_NAME_WITH_TAG"
    - docker push "$CONTAINER_FULL_IMAGE_NAME_WITH_TAG"
  only:
    - master