Как не продвигать все теги Docker из dev repo в prod с помощью команды jfrog cli promo - PullRequest
2 голосов
/ 04 июля 2019

(я новичок в отношении Artifactory). Я использую CLI JFrog для продвижения сборок (образов докеров) из dev-репо в prod.При сборке я создаю три тега: один VERSION , один последний и один с идентификатором сборки.Когда я продвигаю с помощью команды "jfrog rt bpr", я не хочу, чтобы тег build-id повышался, только VERSION и latest .

Я строю Dockerизображения с использованием Gitlab и JI-интерфейса JFrog для отправки изображений, сканирования с помощью рентгеновских лучей и публикации информации о сборке в Artifactory.

Мой процесс заключается в том, что в конвейере Gitlab я создаю образ докера с тремя тегами.

Затем я развертываю его в хранилище dev в Artifactory с помощью "jfrog rt docker-push..." для всех трех тегов изатем опубликуйте информацию о сборке в Artifactory.

Затем я тестирую образ Docker на стадии тестирования в конвейере Gitlab, после чего выполняется сканирование рентгеновского снимка сборки с использованием JFrog cli.

Когда все работает, я хочу добавить образ Docker в мой репозиторий prod в Artifactory, используя JFrog cli.Это, однако, продвигает все три тега, но я хотел бы рекламировать только тег VERSION и последний , а не третий тег, который используется только как тег «снимка».

Возможно ли это с помощью команды jfrog cli promo?Или есть лучший способ думать обо всем процессе именования, маркировки и продвижения изображений от разработчика к продукту с использованием Artifactory?

This is the build stage:

# Build docker images
    - > 
      docker build       
      -t $DOCKER_REGISTRY/$CI_PROJECT_NAME:latest
      -t $DOCKER_REGISTRY/$CI_PROJECT_NAME:$VERSION
      -t $DOCKER_REGISTRY/$CI_PROJECT_NAME:$CI_PIPELINE_ID
      .        
    # Push to Artifactory's dev repo via the virtual repo
    - jfrog rt docker-push $DOCKER_REGISTRY/$CI_PROJECT_NAME:latest docker-virtual --build-name=$CI_PROJECT_NAME --build-number=$CI_PIPELINE_ID    
    - jfrog rt docker-push $DOCKER_REGISTRY/$CI_PROJECT_NAME:$VERSION docker-virtual --build-name=$CI_PROJECT_NAME --build-number=$CI_PIPELINE_ID    

    # Collect environment variables
    - jfrog rt build-collect-env $CI_PROJECT_NAME $CI_PIPELINE_ID    

    # Push build info to Artifactory, but exclude sensitive information such as passwords 
    - jfrog rt build-publish --build-url=$CI_PIPELINE_URL --env-exclude="*DOCKER_AUTH_CONFIG*;*PASSWORD*;*KEY*" $CI_PROJECT_NAME $CI_PIPELINE_ID


This is the promote stage:

- jfrog rt bpr --status=STABLE --copy=true $CI_PROJECT_NAME $CI_PIPELINE_ID docker-prod-local
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...