perldoc-jp/perldoc.jp

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に集約する

参考情報

現状設定されている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

移管方針について、静的サイト化できるんじゃね?とか、一回りしたけど、今のSQLiteに頼って、動かしてく形がさらっと移動できるし、移動してもメンテナンスできそう。多分。

image image
ktat commented

とりあえず、動くバージョンが公開されました。

https://chrome.google.com/webstore/detail/perldocjp-%E7%BF%BB%E8%A8%B3%E9%80%9A%E7%9F%A5/iedgkpbokcjamkpoglfbefmdmclkljhc?hl=ja&authuser=0

ついでにFirefoxも上げましたが、ちょっと問題ありなので、また直すと思います。

https://addons.mozilla.org/en-US/firefox/addon/perldoc-jp-webextension/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search

スクショがやる気なくてすみません。

kfly8 commented

GCPのCloud Runにホストするなら、Code Buildのビルドプロセスで、
現在、cronで走らせている処理を走らせれば良いのでは?

つまり、GitHub Actionへの移行は必須ではなさそう。