doc-ja
doc-ja copied to clipboard
[CI/CD] Pull Requestごとの環境を GitHub Pages へとデプロイする GitHub Actions の追加
[!TIP] 実装にあたって https://github.com/jdkfx/phpdoc を参考にさせていただきました :tada: ありがとうございます 🙏🏻
解決したい課題
- https://github.com/php/doc-ja/issues/150 の翻訳作業のハードルを下げたい
- ちょっとした編集をコミットした後に意図通り反映されているかの確認を楽にしたい
実施したこと
- Pull Requestが開かれた際に、環境をビルドしGitHubのArtifactsにアップロードし、その結果をGitHub Pagesにデプロイするようにした
- ArtifactsのRetention Periodは7日にしているので、ずっと溜まり続けることはないと思います https://github.com/php/doc-ja/blob/d0fbafcfdb5bd73081c6a390dcf6532cf3256c6d/.github/workflows/branch-preview.yaml#L61
- その上で、デプロイされたURLをPull Requestにコメントするようにした
以下のコメントが実際に私のfork上で投稿されたコメント(https://github.com/stefafafan/php-doc-ja/pull/1#issuecomment-2495985600) です:
php/doc-ja に組み込むために必要な設定
デフォルトのGitHubのリポジトリ設定では動かないので、以下の2点の設定が必要です。
/settings/pages
から Source を GitHub Actions に変更する
デフォルトではDeploy from a branchになっているので、GitHub Actionsに変更する必要があります。
/settings/environments/
の github-pages
の Deployment branches and tags の制限を緩める
デフォルトの状態だと main (master) branch 以外からGitHub Pagesへのデプロイはできないので緩める必要があります
追記: Workflow Approval 設定も見直したほうが便利かもしれません
このPull Requestを出して気づきましたが、初ContributeなこともあってCIは自動で走ってくれないようでした。 以下の設定の見直しも場合によってはすると良いかもしれません。
https://docs.github.com/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-public-forks