首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >直接使用docker命令或通过jfrog使用docker命令

直接使用docker命令或通过jfrog使用docker命令
EN

Stack Overflow用户
提问于 2019-04-11 18:15:59
回答 1查看 250关注 0票数 0

我在下面用不同的入口建造。我对下面的代码行感到困惑。

  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
代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2019-04-12 16:04:38

1)当然可以使用docker push,而不是使用JFrog CLI。要做到这一点,您需要执行三个命令:

代码语言:javascript
复制
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是Artifactory服务器的名称。
  • docker是虚拟存储库的名称。
  • distroless-go:1是容器的名称和标记。

2a)命令./jfrog rt bce gitlabci-docker-artifactory $CI_JOB_ID收集执行命令的当前容器或机器的环境变量。可以使用生成发布命令排除环境变量。在这个特定的命令中,gitlabci-docker-artifactory是JFrog Artifactory中显示的构建名,$CI_JOB_ID将是生成号。

2b)命令./jfrog rt bp gitlabci-docker-artifactory $CI_JOB_ID将收集到的构建信息(环境变量和其他几位元数据)发布到JFrog Artifactory中。在这个特定的命令中,gitlabci-docker-artifactory是JFrog Artifactory中显示的构建名称,$CI_JOB_ID将是生成号。

编辑后的评论,从OP:

命令docker push将把对接者映像输入到JFrog Artifactory中,但是它不会捕获环境变量和在构建过程中生成的一些额外的元数据。如果这很重要,您也需要运行另外两个命令。如果您只想存储docker映像,则不需要使用这些命令(公平地说,大多数与我交谈的人和我本人都会将这些细节上传到Artifactory,以跟踪构建过程中发生的事情)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55638870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档