GitHub Actions
ここでは,GitHub Actions についてメモします.
最小構成
Hello, GitHub workflow
リポジトリ下に .github/workflows ディレクトリを作成し,YML ファイルを設置すると,GitHub workflow が実行される.下記の例では,test_github_workflow リポジトリ下の .github/workflows ディレクトリに main.yml を設置している.実行結果はブラウザから GitHub のリポジトリにアクセスし,"▶ Actions" の項目から閲覧できる.
- .github/workflows/main.yml
name: main_test_GitHubWorkflow on: push: jobs: build: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v2 - name: hello_GHWF run: | echo "Hello, GitHub workflow !!" pwd ls
- 実行結果
Run echo "Hello, GitHub workflow !!" Hello, GitHub workflow !! /home/runner/work/test_github_workflow/test_github_workflow README.md
いろいろインストールして,サイトを生成する
毎回インストールしてサイトを生成するほうが,管理する物が少なくて楽.
難しいことは実行時間が不足してから考えればよい.
GitHub Container Registry を活用して実行時間を削減する
Dockerfile のビルドと Docker image の push を手動で行う場合
間を取るとこのくらいになるはず.
すべて自動で行う場合
- 特定のファイル (Dockerfile) の更新に合わせて,Dockerfile をビルドする.
- ビルドされた Dockerfile を GitHub Container Registry に push する
- push されたコンテナを pull する.
- pull した docker image を元にサイト生成を実行するように修正する.
このあたりまでできるといい感じだけれど,管理する物が増えると,面倒なのでやめたほうが良いと思う.
下調べ
Docker コンテナアクション
action.yaml の runs.using に 'docker' を指定し、runs.imageに次のいずれかを指定する
- Dockerfile
- Dockerhubなどパブリックなレジストリで公開されている Docker イメージ
- Github謹製のDockerコンテナ (GitHub Actionsで公開されているやつかな)
- GitHub Container Registry
- 手動 push / pull
GitHub Container Registry 入門 external_link - 2021.04.25 閲覧. - Dockerfile の自動コンパイル & push
Github ActionsでGithub Container RegistryにDocker imageをpushする最小Workflow external_link - 2021.04.25 閲覧. - GitHub Container Registry に登録した Docker image を GitHub Actions で利用する.
【GitHub Actions】GitHub Package Registryを利用して同一Dockerイメージをjobで共有する external_link - 2021.04.25 閲覧.
→ ECR とか言っているし,別に Actions と連携している訳ではなさそう. - Go製ツールをGitHub Container Registryに載せてGitHub Actionとして公開する external_link - 2021.04.25 閲覧.
- 手動 push / pull
GitHub Actions + 自動テスト
いきなり Docker との連携を考えると,詰みそうなので,ひとまずなにがしかを動かすことを考える.
→ まずは自動テストを考える.
- 【Github Actions】プッシュ時にgithubに自動でテストを実行してもらおう! external_link - 2021.04.25 閲覧.
GitHub Actions + Docker
- Markdownから自動でPDFを出力するGitHub Actionを作成した external_link - 2021.04.25 閲覧.
- Docker コンテナのアクションを作成する - GitHub Docs external_link - 2021.04.25 閲覧.
References
Footnotes
-
Github Action の作り方メモ - HeRo @ Qiita external_link - 2021.04.25 閲覧. ↩