1.21 jigowatts

Great Scott!

Jenkins でGitHubと連携して.NETアプリケーションをビルドするときにパッケージを復元する

概要

言いたいことは全部タイトルで言った!

つーことで、GitHubから.NETのアプリケーションをCloneして、ビルドしようとしたらNuGetのパッケージが見つからないので復元するとこまでやってみました。

f:id:sh_yoshida:20170608234545p:plain

環境
  • Windos 10
  • Jenkins 2.46.3
  • Visual Studio Community 2017
  • NuGet v4.1.0

Jobの設定

ソースコード管理

Gitを選択して、リポジトリURLに適当なリポジトリを入力します。PublicリポジトリをCloneするだけなので認証情報はなし。ブランチはmasterで。

f:id:sh_yoshida:20170608234540p:plain

GitHubリポジトリは仕事で久しぶりにVB.NETを書くことになったので練習がてらに作ったどうでもいいやつです。[Clone or download]のとこでコピー。

f:id:sh_yoshida:20170608234559p:plain

ビルド環境

ワークスペースにCloneされるので[ビルド開始前にワークスペースを削除する]にチェックを入れてみました。Timestamperプラグインもいつの間にか入っていたので、[コンソール出力にタイムスタンプを追加する]にチェック。

f:id:sh_yoshida:20170608234549p:plain

ビルド

パッケージを使っている場合復元してあげる必要があるので、別途NuGet CLIをダウンロードしてc:\toolsに配置してあります。

ダウンロードは以下から。
NuGet Distributions

nuget.exeのv4.1.0をダウンロードしました。

f:id:sh_yoshida:20170609000832p:plain

Windowsバッチコマンドの実行にて、コマンド実行。カレントはワークスペースになっているので、Cloneしたソースコードを対象にrestoreできるってわけですね。

c:\tools\nuget.4.1.exe restore

f:id:sh_yoshida:20170608234550p:plain

あとは前回と同じなので省略します。

f:id:sh_yoshida:20170608234554p:plain

実行結果

ワークスペースソースコードがCloneされて、足りないパッケージも復元されました!

f:id:sh_yoshida:20170608234556p:plain

ビルドとユニットテストも通って青玉でました。ここにたどり着くまでにTry and Errorで19回もビルド実行しているのがバレバレ( ^Д^)σ

f:id:sh_yoshida:20170609002403p:plain




sh-yoshida.hatenablog.com
sh-yoshida.hatenablog.com
sh-yoshida.hatenablog.com