npmのパッケージでアップデートがあったら自動で上げてプルリクエストを送ってくれるjenkins job · GitHub
上のものを保存したらjenkinsで以下の条件を整えます。
- github enterpriseのURLを一番下の変数っぽいけどそうじゃないところに書く(元がハードコードだったので手抜き)
- node 5.0をインストール
- pythonが入っているか確認
- npm install --save-dev npm-check-updates
- git push origin ${ブランチ名}できるようにしておく
- github tokenを用意する
実行は毎日or週1くらいで
./ncu.sh リポジトリ所有者名 リポジトリ名 GITHUBトークン
を動作させるとプルリクが送られるようになります。
なぜかenterprise前提ですが普通のgithubでも使いまわせます (/api/v3
のあたりが違うので注意)
感想
というライブラリを利用したのでちょっと追加しただけ。
npm-check-updatesを入れると以下のことが出来ます。
ncu -u
でpackage.jsonを更新- 除外や特定ライブラリのみ更新などの指定
なので、あとはgit checkoutしてadd, commitしてpushしてプルリク送るところを書いてやれば終わりです。
微妙にpython使っているのが気になるけど、json parseエラーが面倒だったのでまあいいかなという感じにしました。 だれかpythonレスにできたら(or pythonとかnode only?)教えて下さい。
最初はnodeでやろうとしたんだけどchild_process.exexSyncでncu呼ぶとエラーになってつらかった・・(´・_・`)