【发布时间】:2023-04-02 06:17:01
【问题描述】:
我有这个代码.github/workflows/main.yaml
# .github/workflows/main.yaml
name: CI Workflow
on: [push]
jobs:
rspec-job:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
container:
image: I-stucked-here
volumes:
- /vendor/bundle
steps:
- code omitted for brevity
这项工作的主要思想是在容器模式下运行所有步骤。不在 Linux 主机模式下。
在同一个存储库下,我有一个名为 ruby-rimy-2.6.3 的公共 Docker 映像。由于它不是在 DockerHub 上公开托管的,因此我无法找到一种方法来以编程方式向 GitHub Packages/Registry 验证自己的身份。
我确实尝试过使用不同的语法(见下面的代码),但没有奏效。
# .github/workflows/main.yaml
name: CI Workflow
on: [push]
jobs:
rspec-job:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
container:
image: docker://docker.pkg.github.com/zulhfreelancer/rimy/ruby-rimy-2.6.3:latest
volumes:
- /vendor/bundle
steps:
- code omitted for brevity
从文档中,GitHub 说 GITHUB_TOKEN 在作业运行时可用。我如何使用这个GITHUB_TOKEN 环境变量来运行类似docker login 的东西
container: 部分以便作业能够拉取图像?
使用 GitHub Personal Token 对我来说不是一个选项,因为在将相同的东西应用到我的 GitHub 组织之前,该存储库只是我的实验存储库。我不想将我的个人令牌放在我组织的存储库环境变量/秘密下——这只会将我的个人令牌暴露给我的同事。
【问题讨论】:
标签: docker github-actions