buildbotとの継続的な統合:はじめに



長年にわたる開発プロジェクトには、大規模で複雑なインフラストラクチャがあります。 多くのビルドスクリプト、フック、および自己完結型ユーティリティは、最終的に多くの問題に変わります。 これを完全に回避することは困難ですが、起こりうるトラブルの数を減らすことは非常に可能です。 今日は、これを支援するツールについて説明します。



Buildbot? いいえ、聞いていません。



ハブには、このすばらしいツールキットへの参照はほとんどありません。 これは誰も使用しないということですか? まったくありません。

Chromium、Python、Blender、およびその他の多くの大規模プロジェクトは、buildbotを使用して構築され、リリースされます。



クロムプロジェクトの大きくて恐ろしい



これはどんな獣ですか?



主な機能に注目する価値があります。buildbotはフレームワークです。 誰かがこれをマイナスと考えるかもしれませんが、深刻なプロジェクトではこれは明確なプラスです。 結局のところ、何か適切なことをしたいのであれば、自分でやったほうが良いことは長い間知られています。

ビルドの方法と場所に関する指示を含む構成は、Pythonコードです。 だからこそ、あなたがこの言語に精通していることを願っています。



戦いに!



100回聞くよりも1回見る方が良いので、すぐに行動しましょう。



必要なもの:



仮想環境を作成する

mkdir -p buildbot cd buildbot virtualenv --no-site-packages sandbox source sandbox/bin/activate easy_install sqlalchemy==0.7.10 easy_install buildbot buildbot-slave
      
      





マスターサーバーを作成する

 buildbot create-master master
      
      





デフォルト設定の名前を変更します

 mv master/master.cfg.sample master/master.cfg
      
      





ウィザードを実行します

 buildbot start master
      
      





ログを見て、すべてが正常に機能するかどうかを確認できます。

 tail -f master/twistd.log
      
      







そして今、レジから逸脱することなく、スレーブを作成します

マスターの隣にスレーブを配置することは良い方法とは言えませんが、私たちの場合は許容されます

 buildslave create-slave slave localhost:9989 example-slave pass
      
      





打ち上げ

 buildslave start slave
      
      





スレーブは、隣に配置されたマスターのねじれたサーバーを誓います。 私たちは注意を払いません。

特別な欲求がある場合は、ログを見てすべてがどうなったかを確認できます

 tail -f slave/twistd.log
      
      







すべてを正しければ、localhostの8010ポートにウェルカムページが表示されます。





確認する



ログイン ユーザー:pyflakes、パスワード:pyflakes。

localhost:8010 / builders / runtestsに移動すると、次のようなものが表示されます。



[Force Build]をクリックしてください



最初のビルドの準備ができました。 F5を押して、アセンブリページに移動します。 すべてのステップは緑色ですか? したがって、テストは成功しました。



特定のビルドステップの標準出力をクリックすると、コンソールの出力と、起動された内容、方法、場所に関する詳細な説明が表示されます。



終わり



以上で、buildbotの紹介は終わりです。 habrasocietyに希望がある場合は、喜んで話を続け、buildbotを実装するときに踏み込んだ複雑さや熊手について話します。



All Articles