-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CI/CD] Pull Requestごとの環境を GitHub Pages へとデプロイする GitHub Actions の追加 #193
base: master
Are you sure you want to change the base?
Conversation
出したものの、こういう👇設定も変えないと100%便利ではないかもしれないか 🤔
|
私が作成したPHP 日本語マニュアル 翻訳用リポジトリ(以下、翻訳リポジトリ)では、以下の問題を抱えておりました。 以前、KentarouTakeda さんにPRをいただいて、変更したファイルを見ることができるコマンドは追加されています。
こちらのPRによって上記の内容が可能になれば、私の翻訳リポジトリの問題点を一気に解決できると考えています。 |
共有ありがとうございます! 🙌🏻 現状こちらのPRは全てをビルドしているので時間がかかってしまう点は変わりませんが、 私もまだビルドの仕組みをちゃんとみてないですが暇ができたら詳しく見てみようと思います 👓 |
PRが来てこのワークフローが動いた場合、前のPRでデプロイされたページは消えてしまいますか? |
全然気づいてなかったのですが現実装だとそうなってしまいそうです 😿
ただ、あらゆるブランチの内容を共通のURLへマージしてパスをわける、みたいな工夫をやればできなくはなさそうかもです (それかデプロイ先としてGitHub Pagesの利用を諦めるか 🤔 )
|
@stefafafan |
@youkidearitai 提案ありがとうございます 🙌🏻 そのうち doc-en にも英語でPR出して反応みてみようと思います 👍🏻 |
@stefafafan 是非とも欲しい機能なのですが、今の形で取り込むのは難しい気がしてます。とは言えアイディアは活かしたいので、代替案を考えてみました。 難しい理由
代替案
一旦、この形にとどめておいてみるのはどうでしょうか?検討頂けると幸いです! @mumumu |
@KentarouTakeda 生成結果をArtifactsに残すことに留めるという代替案で個人的には問題ないと思います! 他にあるとしたらGitHub Actionsでがんばるのではなく、たとえば Cloudflare Pages の Preview deployments とか、Vercelとか、サードパーティのものとリポジトリを連携してプレビューを作ることも可能そうですが、GitHub以外のサービスを利用する・しないの判断が大変そうなので、 |
私もすぐには難しいと思います。 php/* 以下の各リポジトリの設定を変更できるのは一部のメンバに限られている(私も権限は持っていません)ので、まずは少なくとも doc-en の連中に本件の仕組みを納得させる必要があります。
個人的には、本件の仕組みはプレビューを実現するには大掛かり過ぎると思います。 PHP Manual は、巨大な docbook を phd コマンドで XHTML に変換したものです。 なので、プレビューを高速にやりたいのなら、これを改造するのが近道だと思います。phd がどのようにマニュアルを生成しているのかはソースを読んでもらえればと思いますが、概ね以下のような動きをします
|
Tip
実装にあたって https://github.com/jdkfx/phpdoc を参考にさせていただきました 🎉 ありがとうございます 🙏🏻
解決したい課題
実施したこと
doc-ja/.github/workflows/branch-preview.yaml
Line 61 in d0fbafc
以下のコメントが実際に私のfork上で投稿されたコメント(stefafafan#1 (comment)) です:
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