Как сделать последний образ, созданный с помощью gitlab ci, «самым последним»?

У меня есть весенняя загрузка с проектом jib, где последний созданный образ Docker получает «последний» тег. Теперь я создал файл Dockerfile и определение конвейера для своего углового проекта, но последний тег не создается. Как сделать последний образ автоматически последним, как в случае с моим проектом spring boot jib?

Мой докерфайл:

FROM nginx:latest
COPY dist/test-docker-angular-app/ /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf

Мой gitlab-ci.yml:

stages:
  - build
  - package

variables:
  VERSION: ${CI_COMMIT_SHORT_SHA}-${CI_COMMIT_REF_SLUG}

build-prod-app:
  stage: build
  image: node:latest
  script:
    - npm install -g @angular/[email protected]
    - npm install
    - ng build --prod
  artifacts:
    paths:
      - dist/
    expire_in: 2 hours
  cache:
    paths:
      - node_modules/
docker-build:
  image: docker:stable
  stage: package
  services:
    - docker:dind
  before_script:
    - echo $CI_BUILD_TOKEN | docker login -u "$CI_REGISTRY_USER"
      --password-stdin $CI_REGISTRY
  script:
    - IMAGE_NAME = "$CI_REGISTRY_IMAGE:$VERSION"
    - docker build --pull -t "$IMAGE_NAME" -f Dockerfile .
    - docker push "$IMAGE_NAME"
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
0
165
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это сработало для меня:

docker-build-master:
  image: docker:stable
  stage: package
  services:
    - docker:dind
  before_script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
  script:
    - docker build --pull -t "$CI_REGISTRY_IMAGE" .
    - docker push "$CI_REGISTRY_IMAGE"
  only:
    - master

docker-build:
  image: docker:stable
  stage: package
  services:
    - docker:dind
  before_script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
  script:
    - IMAGE_NAME = "$CI_REGISTRY_IMAGE:$VERSION"
    - docker build --pull -t "$IMAGE_NAME" .
    - docker push "$IMAGE_NAME"
  except:
    - master

Другие вопросы по теме