SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы

Список вопросов Печать

Как собрать образ docker, протегировать и загрузить в реестр из GitLab CI?


Метки: docker docker registry gitlab gitlab ci .gitlab-ci.yml 

Ответы

RemiZOffAlex  Создано: 2020-10-10 21:11:29.590014  Обновлено: 2020-10-10 21:11:29.590014
stages:
  - pretest
  - build
  - test
  - dev
  - stage
  - prod

variables:
  PROJECT_NAME: '${CI_PROJECT_NAME}'
  REGISTRY: 'registry.specialistoff.net'
  IMAGE_NAME: '${REGISTRY}/specialistoff.net/${CI_PROJECT_NAME}'

### DOCKER BUILD AND RELEASE

Build:
  stage: build
  script:
    - docker login -u ${DOCKER_REGISTRY_USER} -p ${DOCKER_REGISTRY_PASSWORD} ${REGISTRY}
    - docker build -t ${IMAGE_NAME}:${CI_COMMIT_SHORT_SHA} .
    - docker tag ${IMAGE_NAME}:${CI_COMMIT_SHORT_SHA} ${IMAGE_NAME}:latest
    - docker push ${IMAGE_NAME}:latest
    - if [[ ! -z "${CI_COMMIT_TAG}" ]]; then docker tag ${IMAGE_NAME}:${CI_COMMIT_SHORT_SHA} ${IMAGE_NAME}:${CI_COMMIT_TAG}; fi
    - if [[ ! -z "${CI_COMMIT_TAG}" ]]; then docker push ${IMAGE_NAME}:${CI_COMMIT_TAG}; fi

### DOCKER BUILD AND RELEASE

Trigger deploy:
  stage: dev
  image: fedora:32
  script:
    - "curl -X POST -F token=c0dd5e2ce3b6ebff84b9c101f3cdb4 -F ref=master -F 'variables[TARGET_ENVIRONMENT]=prod' https://gitlab.specialistoff.net/api/v4/projects/3/trigger/pipeline"

Возможно будут интересны и другие вопросы