1) Вы можете использовать docker push
вместо использования CLI JFrog.Для этого вам нужно выполнить три команды:
docker login myserver:8081
docker tag retgits/distroless-go:latest myserver:8081/docker/distroless-go:1
docker push myserver:8081/docker/distroless-go:1
В командах
- myserver: 8081 - имя сервера артефактов
- docker - имя виртуального репозитория
- distroless-go: 1 - имя и тег контейнера
2a) Команда ./jfrog rt bce gitlabci-docker-artifactory $CI_JOB_ID
собирает переменные среды текущего контейнера или машины, на которой выполняется команда.Переменные среды могут быть исключены с помощью команды build-publish.В этой конкретной команде gitlabci-docker-artifactory
- это имя сборки, которое отображается в JFrog Artifactory, а $CI_JOB_ID
будет номером сборки.
2b) Команда ./jfrog rt bp gitlabci-docker-artifactory $CI_JOB_ID
опубликует собранную информацию о сборке (переменные среды).и несколько других бит метаданных) в Artifactory JFrog.В этой конкретной команде gitlabci-docker-artifactory
- это имя сборки, которое отображается в JFrog Artifactory, а $CI_JOB_ID
будет номером сборки
Редактировать после комментария от OP:
Команда docker push
получит образ докера в JFrog Artifactory, но она не будет захватывать переменные среды и некоторые дополнительные метаданные, сгенерированные во время сборки.Если это важно, вы также захотите запустить две другие команды.Если вы хотите только сохранить образ докера, вам не нужно использовать эти команды (если быть честным, большинство людей, с которыми я общаюсь, и я в том числе, загрузите эти данные в Artifactory, чтобы отслеживать, что происходило во время сборки).