perldoc.jp のcron をGitHub Actionに移管する
Opened this issue · 6 comments
kfly8 commented
背景
- 親issueの通り、サーバーの引越しが背景
- GitHub Actionに移管する理由を補足
- 現在、翻訳データは全て、GitHubに移管された。 perldoc-jp/translation#56
- そうなると、GitHub Actionを用いて、翻訳データがpushされたタイミングで、サイトを更新といったことがしやすそう
- また、GitHub Actionは、普及しているので、メンテナンスできる人は多そう。多分。
- そして、運用する人は限られているので、Cloud Schedulerなど別立てのサーバーを立てる強い理由がない限りしたくない
- 運用費も減らしたい
TODO
- #48
- 処理軽減のため、できれば、更新対象は変更のあったファイルのみにしてください。翻訳データをGitHubに寄せられたので、やりやすそうです。
- #49
- #50
- #51
- diffが重たくてタイムアウトしたものについて、diff の結果を作っておく( ./script/generate_heavy_diff.pl )
- 翻訳取り込みを簡素にするため、Moose-Doc-JAとMooseX-Getopt-Doc-JAを統合し、翻訳元データをtranslationに集約する
参考情報
- 翻訳データは、別リポジトリ ( perldoc-jp/translation )のため、こういった対応が必要になりそう?
現状設定されているcron job
PLACK_ENV=deployment # 最新の翻訳の取込みとサイト更新 23 3,4,5,6 * * * nice -n 19 /usr/local/bin/setlock /tmp/perldoc.jp.update /usr/local/bin/cronlog /var/lib/jpa/perldoc.jp/code/script/update_deployment.sh # 最近翻訳されたモジュールを更新(top page) 5 * * * * (cd /var/lib/jpa/perldoc.jp/code; nice -n 19 /usr/local/bin/setlock /tmp/perldoc.jp.update ./script/carton.sh perl -Ilib ./script/create_recent.pl) # CPANのカテゴリとその中のモジュールをスクレイピング(NOTE:2021/12/27:ページごと廃止) # 0 4 * * * (cd /var/lib/jpa/perldoc.jp/code; nice -n 19 ./script/carton.sh perl -Ilib ./script/scrape_cpan.pl) # 年間で翻訳されたモジュール、著者のデータを作成 5 4 * * * (cd /var/lib/jpa/perldoc.jp/code; nice -n 19 ./script/carton.sh perl -Ilib ./script/create_year_data.pl `date +'\%Y'`) # diffが重たくてタイムアウトしたものについて、diff の結果を作っておく(あれば、それを利用するように) 30 * * * * (cd /var/lib/jpa/perldoc.jp/code; nice -n 19 ./script/carton.sh perl -Ilib ./script/generate_heavy_diff.pl > /dev/null) # chrome extension/firefox addon用のJSON作るもの 30 */6 * * * (cd /var/lib/jpa/perldoc.jp/code/; nice -n 19 ./script/create_docs.json.sh) ## https://chrome.google.com/webstore/detail/perldocjp-%E7%BF%BB%E8%A8%B3%E9%80%9A%E7%9F%A5/iedgkpbokcjamkpoglfbefmdmclkljhc?hl=ja ## https://addons.mozilla.org/ja/firefox/addon/perldocjp-firefox-addon/?src=search ```
kfly8 commented
@ktat perldoc.jp のcronで、ktatさんが作成されたブラウザ拡張のためのJSONを生成するスクリプトが動いているのですが、こちらGitHub Actionに移行した方が良さそうでしょうか?(試しに Chrome版をインストールしたところ、動いていない?ような感じでしたので、もしかしたら不要かな?と思い、お声がけしました)
# chrome extension/firefox addon用のJSON作るもの
30 */6 * * * (cd /var/lib/jpa/perldoc.jp/code/; nice -n 19 ./script/create_docs.json.sh)
## https://chrome.google.com/webstore/detail/perldocjp-%E7%BF%BB%E8%A8%B3%E9%80%9A%E7%9F%A5/iedgkpbokcjamkpoglfbefmdmclkljhc?hl=ja
## https://addons.mozilla.org/ja/firefox/addon/perldocjp-firefox-addon/?src=search
ktat commented
@kfly8 perldoc.jp がhttpsになったタイミングで動いてなかったみたいです。自分では使ってなかったので、気づいてませんでした...。
修正したものを審査に出しているので(もともと、manifest version 3 に対応しようとは思っていたので)、残しておいてもらえるとありがたいです。
kfly8 commented
承知しました!
kfly8 commented
ktat commented
とりあえず、動くバージョンが公開されました。
ついでにFirefoxも上げましたが、ちょっと問題ありなので、また直すと思います。
スクショがやる気なくてすみません。
kfly8 commented
GCPのCloud Runにホストするなら、Code Buildのビルドプロセスで、
現在、cronで走らせている処理を走らせれば良いのでは?
つまり、GitHub Actionへの移行は必須ではなさそう。