1

我正在使用 github 操作实现 CICD 管道。我想将 docker 镜像发布到 jfrog artifactory。有人知道如何实现吗?

4

4 回答 4

5

包含登录、构建和推送到 jfrog 工件的完整示例。

此示例在存储库的根目录中需要一个 Dockerfile,以及存储在 GitHub Secrets 中的秘密。

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout ️
        uses: actions/checkout@v2
      -
        name: Set up QEMU ️
        uses: docker/setup-qemu-action@v1
      -
        name: Set up Docker Buildx 
        uses: docker/setup-buildx-action@v1
      -
        name: Login to JFrog   
        uses: docker/login-action@v1
        with:
          registry: <your artifactory>.jfrog.io
          username: ${{ secrets.JFROG_USER_WRITER }}
          password: ${{ secrets.JFROG_PASSWORD_WRITER }}
      -
        name: Build and push 
        id: docker_build
        uses: docker/build-push-action@v2
        with:
          push: true
          tags: <your artifactory>.jfrog.io/<your image name>:latest
于 2021-05-05T17:29:32.853 回答
1

您应该能够在不使用带有 docker login 的 jfrog cli 的情况下登录注册表。铁:

  - uses: actions/checkout@v2
      - name: Login to DockerHub Registry
        run: docker login -u ${{ secrets.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }} artifactory.<yourcompanyrepo>.com
于 2020-10-09T15:48:32.403 回答
0

更简单的方法是使用 JFrog CLI 和 Setup JFrog CLI GitHub Action:

  1. 在您的本地机器上,配置并导出您的 JFrog 服务器:
# Interactively, create a new server
jfrog c add

# Create a server token. This token can be used as a secret in your workflow named: "JF_ARTIFACTORY_SECRET".
jfrog c export
  1. 运行设置 JFrog CLI GitHub 操作:
- uses: jfrog/setup-jfrog-cli@v1
  env:
    JF_ARTIFACTORY: ${{ secrets.JF_ARTIFACTORY_SECRET }}
- run: |
    jfrog rt docker-push <image tag> <target repo>
    
    # Optional - publish build info to Artifactory
    jfrog rt bp

阅读更多相关信息:

于 2021-06-12T14:31:42.970 回答
0

使用docker-login github 操作,您可以指定注册表。

  • 名称:登录 GitHub Container Registry 使用:docker/login-action@v1 with:registry:artifactory..com 用户名:用户密码:pass
于 2020-11-04T21:23:17.057 回答