doc-ja icon indicating copy to clipboard operation
doc-ja copied to clipboard

[CI/CD] Pull Requestごとの環境を GitHub Pages へとデプロイする GitHub Actions の追加

Open stefafafan opened this issue 3 months ago • 10 comments

[!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) です:

CleanShot 2024-11-24 at 22 04 19

php/doc-ja に組み込むために必要な設定

デフォルトのGitHubのリポジトリ設定では動かないので、以下の2点の設定が必要です。

/settings/pages から Source を GitHub Actions に変更する

デフォルトではDeploy from a branchになっているので、GitHub Actionsに変更する必要があります。

CleanShot 2024-11-24 at 22 08 29

/settings/environments/github-pages の Deployment branches and tags の制限を緩める

デフォルトの状態だと main (master) branch 以外からGitHub Pagesへのデプロイはできないので緩める必要があります

CleanShot 2024-11-24 at 22 27 29@2x

CleanShot 2024-11-24 at 22 27 52@2x

追記: 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

stefafafan avatar Nov 24 '24 13:11 stefafafan