タスクスケジューラーを使って「定期的にバッチファイルを走らす」というのをやっていたのですが
なぜか設定したタスクがいつの間にか「無効」になってしまう😣
何度も設定を見直したり、1から作り直したりしてもダメ。
もう原因突き止めるの面倒くせえわ!!😇😇😇
というわけで、タスクスケジューラーを捨てて「Jenkins」に乗り換えることにしました。
Jenkinsとは?
Jenkinsは「もし◯◯という条件に引っかかったら△△を実行する」ができるツールです。
一般的にCI/CDを行うために使われることが多いらしいのですが
- Linuxで言うところのcron
- Windowsで言うところのタスクスケジューラー
の代わりとなるような機能も内蔵されてます。
なのでタスクスケジューラーでできることは大体できます。
任せるぞい
というわけで今までは
- Node.jsで作ったスクレイピング用のプログラムを走らせて、HTMLファイルを生成する
- HTMLファイルをfirebaseにデプロイする
という流れをタスクスケジューラーに任せていたのですが、これを以下のようにしてJenkinsに任せることにしました。
ちなみにプログラムとデプロイ先は以下のとおりです。
結果、タスクスケジューラーのように「無効」になって止まることがなくなりました!😄🎉🎉🎉
しかもタスクスケジューラーよりも利便性も向上しました。
- 実行結果のログがすべて残る
- UIが見やすい
- cronの書き方がそのまま使えるので、Linuxの知識がある人からすると分かりやすい
ちなみに使ってみてハマったポイントとしては
- Jenkinsはデフォルトだとシステムユーザー権限で実行されるので、firebaseでデプロイする場合は、普段使っているユーザー権限でJenkinsを立ち上げないといけない
▲この画面でJenkinsを右クリック→プロパティ
▲ログオンタブでアカウントを設定してから再起動
です。
おわり
コメント