Непосредственное использование команды docker или команды docker через интерфейс командной строки jfrog - PullRequest
0 голосов
/ 11 апреля 2019

Я построил ниже, используя разные порталы.У меня путаница в следующих строках кода.

  1. Могу ли я использовать только docker push вместо ./jfrog rt dp.Имеет ли какое-то значение, если я использую любой из них.
  2. Какая польза от следующих строк кода.Это обязательно?Добавление это делает любое использование.Я вижу, что вижу информацию о сборке в JFROG.Но я уже подталкиваю свою сборку к артефакту.
  • . / Jfrog rt bce gitlabci-docker-artifactory $ CI_JOB_ID
  • . / Jfrog rt bp gitlabci-docker-artifactory $ CI_JOB_ID
image: arielkv/dind-glibc:latest

services:
  - docker:dind
     stages:
    - Install
    - build

before_script:
  - apk update
  - apk add go curl
  - curl -fL https://getcli.jfrog.io | sh
  - ./jfrog rt config MyArtifactory --url $ARTIFACTORY_URL --user $ARTIFACTORY_USER --apikey $ARTIFACTORY_PASS
  - docker login -u $ARTIFACTORY_USER -p $ARTIFACTORY_PASS $ARTIFACTORY_DOCKER_REPOSITORY


Build:
    stage: build
    script:
    - docker build --rm=false --build-arg NODE_ENV=prod -t $ARTIFACTORY_DOCKER_REPOSITORY/artifactory-alpine:$CI_JOB_ID .
    - docker run -d -p 8081:8081 $ARTIFACTORY_DOCKER_REPOSITORY/artifactory-alpine:$CI_JOB_ID; sleep 10
    #- docker push $ARTIFACTORY_DOCKER_REPOSITORY/artifactory-alpine:$CI_JOB_ID
    - ./jfrog rt dp $ARTIFACTORY_DOCKER_REPOSITORY/artifactory-alpine:$CI_JOB_ID $DOCKER_REPOSITORY_KEY --build-name=gitlabci-docker-artifactory
--build-number=$CI_JOB_ID
    - ./jfrog rt bce gitlabci-docker-artifactory $CI_JOB_ID
    - ./jfrog rt bp gitlabci-docker-artifactory $CI_JOB_ID
    only:
    - master

1 Ответ

0 голосов
/ 12 апреля 2019

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, чтобы отслеживать, что происходило во время сборки).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...