1

私の会社はオープンソースプロジェクトを開発しています。したがって、2つの異なるビルドスクリプトの設定を検討する必要があります。1つ目はローカルビルドであり、コミュニティだけでなく私たちも使用しています。2番目のビルドはCIサーバーで実行されます(チームシティを使用します)。

ここで、2つの質問が発生します。

  1. サーバー固有のビルドファイルをローカルビルドファイルと同じリポジトリに配置する必要がありますか?
  2. はいの場合、次のような賢明なデータをどのように処理しますか?たとえば、NuGet APIキーや、毎晩/毎週のビルドで増分されるバージョン情報はありますか?

現在の状況:ローカルビルドファイルのみをリポジトリに配置し、適切なものを親ディレクトリに保持します。したがって、それは少し不器用に感じます(少なくとも私にとっては)。

私が考えることができる引用:リポジトリにlocal.buildファイルとserver.buildファイルがあります。次に、チームシティで、パスワードとバージョン番号を含むシステム変数を設定します。今のところ、チームシティがプロパティの可視性をどのように処理するかはわかりません。もちろん、すべての開発者がパスワードにアクセスしたり、読み取ったりすることは望んでいません。

4

1 に答える 1

1

2番目のオプションであなたの直感は良いと思います。ソース管理に両方のスクリプトを含めて変数をserver.buildに渡すことも、 server.buildプロセス全体をTeamCityビルド構成に移動することもできます。

バージョン番号: TCは、増分ビルドカウンターを使用してバージョン番号を処理します。このカウンターに、任意のmajor.minor.etcを追加できます。ビルド番号の形式は、[一般設定]ページの[]で構成できますBuild Number Format。私たちのチームには%version%、major.minor値を入力するビルドパラメーターがあります。次に、ビルド番号の形式をに設定し%version%.{0}ます。これにより、major.minor.buildが得られます。この結合された値は、%system.build.number%変数を介して利用できます。

機密データ:機密データをマスクするビルドパラメーターを作成できます。新しいパラメータを追加Editし、フィールドのボタンをクリックしますSpec。次に、パラメーターをパスワードとして処理する必要があることを宣言できます(他のオプションの中でも)。パラメーターは暗号化され、難読化されます。他のビルドパラメータと同じように使用できます。

于 2013-01-22T19:02:42.387 に答える