2017-07-29 10 views
1

開発者がリモートパーソナルビルドを実行できるようにするために、Jenkins CIをSCMなしで使用することができるのではないかと不思議です。私は、変更がSCMにチェックインされるとすぐにビルドを自動トリガするのが典型的な使用例であることを理解しています。 SCMなしでJenkinsを使っている人がいるのだろうか?SCMを使用しないJenkins CIを使用したパーソナルビルド

基本的には、変更されたコードをサーバー上のディレクトリにアップロードし、アップロードされたコードの場所を入力して手動でビルドを開始するように構想します(例:小さなウェブフロントエンド経由)。これは、開発マシンでローカルビルドを実行するのと同じようにする必要があります。また、いくつかの変更には必ずしも必要でないかもしれないので、いくつかのビルドステップまたはテストを省略することも可能です。

gitのようなバージョン管理システムを使うと、おそらく、開発者がマスターブランチと統合する前に別のブランチで実験的な変更をチェックインすることによって実現されます。残念ながら、簡単なユビキタス分岐を提供するバージョン管理システムはありません。したがって、私は開発者が自分のローカルワークスペースディレクトリをJenkinsサーバーにアップロードして、変更がトランクにコミットする前に渡されるかどうかを確認するソリューションを求めています。

どのような提案も高く評価されています。

+0

ローカルでテストを実行することはできませんか?どのステップが必要* Jenkins? – jonrsharpe

+0

いくつかのテストは、少量でしか利用できない特別なハードウェアを必要とするため、すべての開発者がローカルで実行することはできません。現在、開発者は、中央ビルドサーバーが使用可能になるまで待ってから、そのマシンでリモートログインし、ビルドを実行してから、再度ログオフします。そのようなジョブを自動的に待ち行列に入れ、使用可能なビルド・サーバー間でロードバランス・ジョブを行うこともできます。最後に、Continuos Integrationの設定も予定しています。これらの個人用ビルドは、CIビルドと同じ条件で実行する必要があります。したがって、私はジェンキンスがこれを行うことができるかどうか疑問に思います。 – mikado

答えて

0

これを達成するために考えられる最も簡単な方法は、ファイルパラメータを使用してパラメータ化されたJenkinsプロジェクトを作成し、テストする必要があるすべてを含むzipファイルをアップロードするために開発者に使用させ、解凍をビルドし、テストを実行し、プロジェクトのステータスを報告します。プロジェクトの

の手順は、基本的に次のようになります。

  • は、ドロップダウンからFile Parameterを選択し、必要なフィールドに記入This project is parameterizedチェックボックスに
    • を確認してください。
  • 無視するテストを指定する別のパラメータ(選択方法に応じて入力)を追加します。
  • 前のテストビルドを消去する
  • アップロードしたファイルを解凍するには、7-zipなどを使用します。
  • すべてのテストを実行し、ビルドステータスを記録します。ユーザーがビルドをキックオフしたい場合

はその後、彼らは単にファイルをアップロードし、Build with parametersをクリックして、ジェンキンスプロジェクトに行き、そのディレクトリアップを圧縮でき、すぐにそれが行くだろう。コンカレントビルドが無効になっている限り(私はJenkinsの最新バージョンではデフォルトでそれらを無効にすると信じていますが、わかりません)、これはあなたのニーズを満たすだろうと思います。欲しいです。


余談として

、と私は、これはあなたが使用gitのをした場合、あなたはジェンキンスを持っているthis processようなものを使用するだけで成功してきた安定版ブランチに変更をプッシュすることができ、非常に多くのないあなたの質問を知っています建てられた。

関連する問題