Open1

GitHubActions自作

スースー

概要

自作のGitHubActionsを作ってみるか?と思い立ったので、調査

何がわかれば良いか?

  1. OrganizationでPrivateで利用するActionは作成可能か?どう作るか?
  2. ファイルパスを引数とすることは可能か?どう作るか?
  3. Markdownをパースしてその内容を何かのAPIに送信することは可能か?どう作るか?
  4. GitHubActionsでできるだけセキュリティを担保する際に意識するべきことはあるか?

1. OrganizationでPrivateで利用するActionは作成可能か?どう作るか?

https://docs.github.com/ja/actions/creating-actions/sharing-actions-and-workflows-from-your-private-repository

可能っぽい?もうちょい調べてみる。

https://docs.github.com/ja/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#allowing-access-to-components-in-a-private-repository

↓これだと許可しすぎだが、必要であればやるしかない・・・。

  1. 作成しているActionのリポジトリにOrganization内に公開するといった設定が存在する
  2. 設定場所は設定 > アクション > 全般 > アクション権限

設定のスクショ

https://zenn.dev/not75743/scraps/926f2693809744

2. ファイルパスを引数とすることは可能か?どう作るか?

3. Markdownをパースしてその内容を何かのAPIに送信することは可能か?どう作るか?

作れる。作れるが、TechBowlで作る場合は、PHPで作成するのが今の人員的にもベター。
そのためには、DockerContainer or Composite Action(複合アクション)でActionを作成する必要があるため、注意が必要。

Composite Actionの作り方の公式ドキュメント↓
https://docs.github.com/ja/actions/creating-actions/creating-a-composite-action

4. GitHubActionsでできるだけセキュリティを担保する際に意識するべきことはあるか?

https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions

まとめ

  • 最低限リポジトリを作ってREADME.mdとaction.ymlを置けば良い
  • GitHubActionsを作成する際には3種類作成方法がある
    • JavaScript
    • Dockerfile
    • Composite Action

参考

https://aadojo.alterbooth.com/entry/2023/05/23/180453
https://tech.mof-mof.co.jp/blog/my-first-github-actions/
https://zenn.dev/ryubb/articles/20220419_f061a533b7701c
https://note.com/tably/n/n46041458d6b3
https://docs.github.com/ja/actions/using-github-hosted-runners/about-github-hosted-runners#supported-software