#この記事の目的
- PythonでCRONTABを利用して、いいね自動化プログラムを定期実行する方法をまとめます。
- 内容としては主に以下の内容となります
- CRONTABとは何かという話
- 実際にCRONTABを使うときに必要な知識
- PythonコードをCRONTABから実行する方法
Javaで書かれたオープンソース継続的インテグレーションツール
(英:Continuous[継続した] Integration[結合])である。(Jenkinsとはなんぞや?)
継続的インテグレーションとは、ソフトウェア開発において、ビルドやテストを頻繁に繰り返し行なうことにより問題を早期に発見し、開発の効率化・省力化や納期の短縮を図る手法。 特に、専用のツールを用いてこのプロセスを自動化あるいは半自動化し、効率的に実施する方式。(Jenkinsとはなんぞや?)
毎日、最新版のアプリケーションをサーバーにデプロイすることで、最新のアプリケーションに対するテストを行えます。テストのカバレッジを毎日収集することで、テストの進捗状況を細かく確認することができます。静的解析を行うことで、手動では見つけにくいバグや品質低下を発見することができます。これらを毎日人力で行うことは非常に手間です。Jenkinsはそれらを自動化する手助けをしてくれます。(Jenkinsで実現するJava EEアプリケーションの自動ビルドと自動デプロイ)
で、Jenkinsで今回やりたいのは継続的インテグレーションではなく、定期実行プログラムなのです。Jenkinsが強いのは、Cronをサーバー上で設定できるので、非常に便利です。
Jenkinsは継続的デリバリーとか継続的インテグレーションの文脈で語られることが多いので、ソースコードのビルドだったりテストの実行だったりをエンジニアの代わりに実行してくれるツールだと思われていることが多いです。(当たり前のことを長々と何言ってんだって感じですが)しかしJenkinsの機能を、そういったような開発管理ツールではなく汎用的なバッチツール、要は「すごいcron」として使用できることも分かったのでちょっと試してみました。(Jenkinsをすごいcronとして使う)
今回は、Jenkins ShiningPanda Plugin(輝くパンダ?)プラグインを利用して、ジョブ固有のPython環境を作る方法を紹介します。 ShiningPanda Pluginではvirtualenvを利用して、複数(ジョブ毎)のPython環境を切り替えます。Jenkins ShiningPanda Pluginによるジョブ固有のPython環境(virtualenv)
Amazon LinuxなどRedhat系Linuxでは、Pythonのシステム依存度が非常に高く、下手にアップデートなどを行うと悲劇となることがよく知られています。 デフォルトのモジュール空間へのライブラリ追加も極力避けたいところです。 特にJenkinsでPythonのシステムをテストする場合や、Pythonのスクリプトを実行したい場合は、ジョブ毎にモジュール空間を分けることがベストプラクティスです。Jenkins ShiningPanda Pluginによるジョブ固有のPython環境(virtualenv)
おけぴチケット救済サービス(定価以下限定チケット掲示板)
ミュージカルや演劇、劇団四季、宝塚歌劇、クラシック、コンサート、ライブ等の空席救済を目的とした観劇鑑賞生活応援サイトです
めちゃくちゃ久しぶりにこのブログ書いたw 更新3年ぶりw > 多様性というゲームは尊厳と自由を勝ち取るゲームなのかもしれないな。 もともとツイッターでツイートした内容なんだけど、ちょっと深ぼる。 ----- 自分は男 x 30代x 二児の父 x 経営者 x 都心(共働き世...