我正在使用 github 操作实现 CICD 管道。我想将 docker 镜像发布到 jfrog artifactory。有人知道如何实现吗?
问问题
2107 次
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:
- 在您的本地机器上,配置并导出您的 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
- 运行设置 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
阅读更多相关信息:
- Setup JFrog CLI - GitHub 操作的完整文档。
- 下载 JFrog CLI - 将 JFrog CLI 下载到您的计算机以创建所需的密钥。
- 在 CLI 中管理 Docker 映像- JFrog CLI 文档
于 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 回答