問題タブ [buildbot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
263 参照

git - buildbot で ssh を介して git サブモジュールを使用する

さまざまな外部 git サーバーにリンクされたサブモジュールを含む git リポジトリがあります。サブモジュールとユーザーごとに ssh 認証を渡すにはどうすればよいですか? Buildbot のサブモジュールごとに個別のオプションを設定できますか?

必要なブランチのすべてのサブモジュールを自動的にチェックアウトできますか? また、ルート変更ログだけでなく、すべてのサブモジュールの変更ログを一度に表示できますか?

0 投票する
1 に答える
408 参照

python - buildbot python の奇妙な動作

いくつかの説明を編集してください: buildbot は、Web インターフェイスで制御できる Python の継続的統合システムです。この Web インターフェイスには、特定のビルダーを選択し、[Force build] ボタンでビルドをトリガーできる "Waterfall" ページがあります。

URL: http://trac.buildbot.net/

背景: 継続的 (変更が発生したかどうかを数分ごとにチェックし、変更があった場合は再構築) または夜間 (毎晩ビルド) のビルダーのクラスターがあります。これまでのところ、私たちのシステムには、すべてのプロジェクトに対して特定のエンタープライズ ビルダーが1 つしかありません。これは、すべてのプロジェクトが次のような一定の URL の下にある必要があることを強制することによって行われました。

次に、プロジェクトがエンタープライズ ビルドを必要とする場合、1 つのプロジェクト XYZ を選択する必要があります。buildbot は、プロジェクトを以下でチェックアウトする必要があると想定します。

これは非常に厳格であり、プロジェクトが異なる URL の下にあるようにビルドボットを再構成したいと考えました。「buildbot start master」によって開始されるビルダーのセットアップ中に、プロジェクトの構成ファイルが読み取られ、ConfigParser オブジェクトに保存されます。次のソース コードでは、それは clzoptions var であり、使用したい URL は次のようになります。

プロジェクト XYZ の場合。テスト プロジェクトの「svnBaseURL」エントリの下に別の URL を追加しました。今、ビルダーを作成する python クラスでよくわからないことに遭遇しました。まずソース:

私はそれをコアの問題に落とし込みました。内部にはさらに多くのビルダーがいます。重要な機能は self.enterprise_checkout_url(WithProperties('%(project)s')) です。

ウォーターフォールでプロジェクト名「XYZ」でそのビルダーを呼び出すと、結果として得られます

ShellCommand の場合。これは URL ではないため無意味ですが、curProjectName パラメーターが "XYZ" に評価されることがわかります。ここまでは簡単ですよね?その関数を変更しましょう...

そして得る

これはほとんど私が必要とするものです。

が正しい道です。しかし、キーは一定です。変数にする必要があります。しかし、少なくとも辞書が存在し、XYZ の正しいエントリがあることはわかっています。

今、私は単に理解していない問題です。

今すぐ試してみましょう

おっと、彼は構築しません

わかりました、コンパイル フェーズ中に curProjectName が設定されていない可能性があります。

コンパイルします。私はすべてのプロジェクトを取得しています。curProjectName が正しいかどうかをテストしてから、svnBaseURL に curProjectName と等しいプロジェクト キーを返します。しかし、私は得る:

あなたの番。curProjectName で str()、repr()、eval() を使用しようとしましたが、役に立ちませんでした。既存の辞書と curProjectName の両方にアクセスできません。

0 投票する
1 に答える
3738 参照

html - buildbotWebページをカスタマイズする方法

プロジェクトを実行する予定なので、テストビルドボット用にいくつかの追加のWebページを作成しようとしています。

実際には、ビルダーページだけではなく、ビルド名の近くに特定のビルダーをビルドするためのボタンを表示するウォーターフォールページが必要です。また、ビルダーの作業フォルダー内、およびスレーブマシンの他の場所からいくつかの参照ドキュメントをロードしてもらいたいです。ボタンを使用してボタンを表示または非表示にします。

マニュアルを見ましたが、Buildbotの機能を活用できる新しいhtmlページをどのようにカスタマイズまたは作成するかについての情報はありません(Buildbotにすでに含まれているテンプレートのように)。

いくつかのページを開いたところ、実際には次のような非htmlコードステートメントを含むいくつかのhtmlファイルがあることがわかりました。

等々。私はWebプログラマーではないので、何を探すべきかについてはまったくわかりません。HTMLの単語をグーグルで検索しようとしましたmacroが、Wikiのカスタマイズに関連する結果がたくさん得られました。Python言語のようには見えないので、かなり迷っています。

ビルドボットのカスタムページを正常に作成でき、何を学ぶべきかについての指針を教えてくれる人はいますか?

0 投票する
1 に答える
255 参照

windows - オープンソース プロジェクトをテストするための Windows クラウド インスタンス?

私は、オープンソースのビルド ツールである SCons (www.scons.org) を使用しています。私たちはテスト駆動型の開発を行っており、buildbot を持っていますが、常に Windows ビルドスレーブが不足しています。(完璧な世界では) さまざまな python バージョン、さまざまなコンパイラなどを含む大規模なコレクションが必要です。buildbot で使用できる無料またはほぼ無料のクラウドベースの Windows インスタンスはありますか? 私は Azure と Amazon EC2 を見てきました -- EC2 マイクロ インスタンスが現時点で最善の策のように思えますが、オープンソース プロジェクト テスト用のビールのように本当に無料のものがあるかどうか疑問に思っています。共有する経験を持ってこのようなことをしている他の人はいますか?

0 投票する
1 に答える
284 参照

continuous-integration - buildbot を使用してバッチで再構築する

buildbot を数か月使用していますが、とても満足しています。githubでプラグインされています。

私は画像処理ソフトウェアに取り組んでいますが、処理時間は非常に重要です。最近まで、自動ビルドとテストを行っていましたが、現在はテストに費やす時間を監視しています。

処理時間の監視は最近実装されたばかりなので、数か月前のすべてのコミットをビルドしたいので、潜在的な処理時間の欠点を確認できます。

ForceSchedulerを使用して特定のコミットで手動ビルドをトリガーできますが、たとえば最後の 500 件のコミットでそれを行う簡単な方法はありますか?

0 投票する
1 に答える
2562 参照

python - 前のタイムアウトの場合に条件付きステップを実行する方法

私はいくつかのステップを持つbuildbotビルドファクトリーを持っています。ステップの 1 つが定期的にタイムアウトし、buildbot が例外をスローして終了します。ただし、この場合でも、生成されたログを保存できるようにしたいと考えています。1 つのオプションは、前のステップがタイムアウトした場合にのみ実行されるステップを追加することです。使用doStepIf可能です。ただし、あるTIMEOUTだけなのでステータスを見る方法はありませんSUCCESS, WARNINGS, FAILURE, or SKIPPED。この問題を解決する最善の方法は何ですか?

関数の例doStepIf:

0 投票する
1 に答える
268 参照

svn - master.cfg ファイルを使用して、Buildbot で完了したビルドの最新の SVN リビジョン番号を取得する方法は?

Builder 名に基づいて以前に完成した SVN リビジョン番号を取得する方法またはサンプル コードを探しています。私の目的は、数値の違いを使用して SVN を照会し、ビルドに加えられた変更のレポートを作成することです。

0 投票する
1 に答える
1908 参照

python - Buildbot がメールを送信していませんか?

ソフトウェア プロジェクト用に buildbot セットアップを実行しており、次のように電子メール通知をセットアップしようとしています。

BUILDBOT_EMAILは文字列「buildbot@name-of-our-project.org」で、NOTIFICATION_EMAIL通知を受け取りたい電子メールの文字列です。

documentationによると、すべて問題ないようです。関心のあるユーザーにメールを送信するわけではないので、lookup引数は必要ありません。ビルドが失敗した場合に備えて、明示的に指定されたアドレスにメールを送信しようとしているだけです。私は基本的にこれをやっています:

単純なビルドごとに 1 つのメッセージ (メーリング リストなど) を取得するには、代わりに次のフォームを使用します。このフォームは、個々の開発者にメールを送信しません (したがって、以下で説明する lookup= 引数は必要ありません)。代わりに、引数で指定された追加の受信者にのみメールを送信します。

ただし、ビルドに失敗しているにもかかわらず、電子メールが届きません。原因は何ですか?

fromaddr を使用し、単にbuildbot@domain-name.org例に従ってアドレスを使用する方法に問題がある可能性はありますか? このアドレスを何らかの方法でドメインに登録する必要がありますか? buildbot@localhost代わりに使用すると違いはありますか?

を使用していないために問題が発生する可能性はありrelayhostますか? ドキュメントの例から、これは、インバウンド アドレスではなく、アウトバウンド アドレスでの認証にのみ設定する必要があるようです。

どんな助けでも大歓迎です。

0 投票する
1 に答える
891 参照

integration - BuildBot を JIRA に統合する

継続的なビルド用のBuildBotセットアップがあります。さらに、すべてのバグ追跡とタスクのニーズに JIRA を使用しています。

私が達成しようとしていた (そして、ほとんどまたはまったく情報を見つけられなかった) ことは、(生成されたビルドからの) ビルド番号を JIRA に統合することです。具体的には、次の 2 つのフィールドが必要です。

  • Found In Build (QA がビルド番号を簡単に選択できるようにする特定のしきい値までの以前のビルドをリストするドロップダウン)
  • ビルドで解決済み(エンジニアが修正を含む将来のビルドを選択できる別のドロップダウン)

最終的には、これらのフィールドも必須フィールドにしたいと考えていますが、それはより簡単なタスクです。

これを数日間調査した後、参照、プラグイン、またはこれを達成する方法に関するヒントさえも見つけることができませんでした。あなたの助けが必要です。

コードスニペットではなく完全な回答を投稿してください。そうすれば、あなたの努力が未使用/誤解されることはありません.

PS JIRA バージョン: 5.2 BuildBot: 0.8.4p2

0 投票する
1 に答える
164 参照

debian - debhelper非推奨のオプション--until?

ビルドボットでパッケージをビルドするとき、私は現在、単一のビルドステップを持っています。

これはうまく機能しますが、すべての出力がウォーターフォール内の1つのステップにまとめられるため、障害が構成中、ビルド中、またはパッケージ化中のいずれであるかを一目で確認するのは困難です。だから私は物事を構築するためのよりきめ細かい方法が欲しいのです。

たまたま、dhを使用してビルドしたいすべてのパッケージを知っています。つまり、ビルドステップを構成、ビルド、テスト、およびパッケージ化することができ、それぞれが次のコマンドのいずれかを実行したことを意味します。

(私はdhを使用してこれらを呼び出し、パッケージがオーバーライドを使用している場合にオーバーライドを実行できるようにします。問題のパッケージがオーバーライドを使用しているかどうかをbuildbotに認識させたくありません。)

ここまでは順調ですね。問題は、dhが--untilオプションを使用することを望まないことです。それは言う

"dh:--untilオプションは廃止されました。代わりにオーバーライドターゲットを使用してください。"

これは私を悲しくさせます...dhはこのユースケースを予期していないようです。

だから、今の質問:

そのようなことはどこで議論されるべきですか?

dhは実際に私のユースケースを別の方法で処理しますが、メモを見逃しましたか?