如何不使用jfrog cli Promotion命令将所有Docker标签从开发仓库升级为产品

时间:2019-07-04 08:57:41

标签: artifactory jfrog-cli

(就Artifactory而言,我是新手)我使用JFrog CLI将开发(docker映像)从dev仓库升级到prod。构建时,我创建了三个标签,一个为 VERSION ,一个为 latest ,另一个为带有构建ID。当我使用“ jfrog rt bpr”命令升级时,我不想升级build-id标记,仅升级 VERSION latest

我使用Gitlab构建Docker图像,并使用JFrog CLI推送图像,使用X射线扫描以及将构建信息发布到Artifactory。

我的过程是在Gitlab管道中,我用三个标签构建docker镜像。

然后将其部署到Artifactory中的所有三个标签都带有“ jfrog rt docker-push...”的dev存储库中,然后将构建信息发布到Artifactory。

然后,我在Gitlab Pipline的测试阶段测试Docker映像,然后使用JFrog cli对构建进行X射线扫描。

一切正常后,我想使用JFrog cli将Docker映像提升到Artifactory中的产品存储库。但是,这会提升所有三个标签,但我只想推广 VERSION latest 标签,而不是仅用作“快照”标签的第三个标签。 / p>

使用jfrog cli boost命令是否可能?还是有更好的方法来思考使用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

0 个答案:

没有答案