前の記事では手動でGithub Package RegistryにDocker Imageをpushしましたが、実際にはそんなの手でやってられません。こういう事はCIにやらせましょう。
GitHub Actions及びGitHub Package Registryは正式公開されたばかりだからか、情報が少なかったのでメモ。
特に docker login
については個人ユーザに紐づく方法しかみつからないので、結構ハマる方がいるはずです。
結論
以下のようにログインユーザ及びパスワード(トークン)を指定して、docker login
すればOK
- name: Push to Github Package Registry env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | docker login docker.pkg.github.com -u ${GITHUB_ACTOR} -p ${GITHUB_TOKEN} docker tag original docker.pkg.github.com/yamap55/python_dev_env/original:latest docker push docker.pkg.github.com/yamap55/python_dev_env/original:latest
設定ファイル全て
name: Build Dockerfile and Push Github Package Registry on: push: branches: - develop jobs: build-and-push: runs-on: ubuntu-18.04 timeout-minutes: 300 steps: - uses: actions/checkout@v1 - name: Build Image run: | cd docker/ && docker build -f Dockerfile_original.dockerfile -t original . - name: Push to Github Package Registry env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | docker login docker.pkg.github.com -u ${GITHUB_ACTOR} -p ${GITHUB_TOKEN} docker tag original docker.pkg.github.com/yamap55/python_dev_env/original:latest docker push docker.pkg.github.com/yamap55/python_dev_env/original:latest
他のファイル構成などは以下を参照
https://github.com/yamap55/python_dev_env