У меня есть этот код на .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.
В том же хранилище у меня есть опубликованное c Docker изображение с именем ruby -rimy-2.6.3 . Так как он не размещен на 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. Я не хочу помещать свой личный токен в переменные / секреты среды репозитория моей организации - это просто выставит мой личный токен моим коллегам.