2016-05-20 5 views
0

Jenkinsでビジュアルスタジオソリューションを構築して展開するためにジョブを自動化しようとしています。すでにJenkinsにプロジェクトをビルドさせることができます。 JenkinsがSquirrelパッケージをデプロイするプロジェクトビルドの後に実行するバッチファイルを作成しましたが、バッチファイルとJenkinsジョブをパラメータ化しています。つまり、ジョブを実行するたびに手動でバージョン番号を入力しています。必要なのは、プロジェクトからバージョン番号を抽出して、Squirrelバッチファイルのパラメータとして使用できるようにすることです。AssemblyInfo.csからAssemblyVersion番号をコマンドラインで取得

+0

を参照してください?実際にビルドプロセスの一環として設定する必要があります。 –

+0

プロジェクトのプロパティで手動でインクリメントしてから、変更後にバージョン管理にコミットします。それをJenkinsのビルドプロセスに追加すると、バージョン番号のバンプがコミットされなくなります。 – Seraph812

+0

マニラリティは悪です。一般的に、MAJOR MINOR BUILDを含むシンプルなテキストファイルのようなものがあり、ビルドプロセスの初期段階でそれを読み込み、REVISIONフィールドで使用するリビジョン番号をソースコントロールに照会し、バージョン情報ファイルを生成します。同じ生成されたバージョン情報を使用してパッケージを展開することができます。 –

答えて

0

私の目的のために、 "AfterBuild"イベントでリスのロジックを.csprojファイルに移動しました。リリースビルドが実行されるたびに、パッケージがビルドされ、アクセス可能なバージョン番号とともに「解放されました」。

<Target Name="AfterBuild" Condition=" '$(Configuration)' == 'Release'"> 
    <GetAssemblyIdentity AssemblyFiles="$(TargetPath)"> 
     <Output TaskParameter="Assemblies" ItemName="myAssemblyInfo"/> 
    </GetAssemblyIdentity> 
    <Exec Command="D:\Squirrel\nuget pack &quot;D:\Squirrel\Nuspec Files\OurApplication.nuspec&quot; -Version %(myAssemblyInfo.Version)" /> 
    <Exec Command="D:\Squirrel\Squirrel.Windows-1.4.0\squirrel --releasify D:\Jenkins\default\Projects\OurApplication\Windows\OurApplication.%(myAssemblyInfo.Version).nupkg -r D:\Squirrel\Releases\OurApplication" /> 
    </Target> 

どのようにあなたが最初の場所でバージョン番号を設定しているhttps://github.com/Squirrel/Squirrel.Windows/blob/master/docs/using/visual-studio-packaging.md

関連する問題