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を実装するときに踏み込んだ複雑さや熊手について話します。

Source: https://habr.com/ru/post/J204700/


All Articles