GitHubでプロジェクトを作成するごとにいつもAppVeyorの設定をいままで作ったものを見ながら 設定していたんですけど、毎回見ながらやるのがメンドウになったので最低限にやることをまとめておきます。
1.AppVeyorにログインして新しいプロジェクトと紐付ける。
NewProjectを選択してGitHubから連携したいプロジェクトを選択してAddをクリック。
もちろんBitBucketとかVisual Stduio OnlineでもOKです。
2.設定を行う。
プロジェクトのトップページからSETTINGSをクリックする。
以下にカテゴリ別に最低限にやることをまとめます。
カテゴリ単位に一番したにあるSaveボタンで保存してください。
General
ビルドバージョン
ビルド番号を0.0.xにしたい場合ときは変更します。
ビルドブランチ
ビルド対象のブランチをmasterだけにします。
AssemblyInfoパッチ
ビルドしたアセンブリのバージョンをAppVeyorのビルドバージョンと同じにしたい場合はアセンブリパッチをONにして、「**\AssemblyInfo.*」と入力します。(ONにするだけで最初から自動入力されます)
Build
ビルド設定
プロジェクトのデフォルトでも問題ないかもしれないですが、DebugでビルドされないようにReleaseを指定します。Platformはお好みで。
ソリューションファイル名を指定します。これを指定忘れるとこけます。
ビルド前スクリプト
nugetを参照するプロジェクトの場合はビルド前に「nuget restore」するようにします。
自動パッケージ
Nugetにパッケージングする場合はチェックをつけます。
Artifacts
ビルドしたものを自動でパッケージングしたい場合に設定します。PATH TO ARTIFACTには、GitHubのリポジトリからの相対パス(ビルドしたときにできるbinまでの)を、DEPLOYMENT NAMEはプロジェクト名を。
Deployment
デブロイ
ビルド後にNugetにアップロードするようにadd deploymentしてNugetを選択し、NugetのAPI keyを指定します。(https://www.nuget.org/accountから確認できます)
これで一通りの設定は完了です。
ちなみにNugetにデプロイする場合は以下のようなnuspecファイルをリポジトリのプロジェクトファイルと同じ名前のnuspecファイルをコミットしておく必要があります。(内容は例です)
<?xml version="1.0" encoding="utf-8"?> <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd"> <metadata> <id>FinalstreamCommons.Core</id> <version>$version$</version> <title>FinalstreamCommons.Core</title> <authors>Finalstream</authors> <owners>Finalstream</owners> <licenseUrl>https://github.com/finalstream/FinalstreamCommons.Core/blob/master/LICENSE</licenseUrl> <requireLicenseAcceptance>false</requireLicenseAcceptance> <description>Application Development Support Library.</description> <copyright>Copyright © 2015 Finalstream</copyright> <projectUrl>https://github.com/finalstream/FinalstreamCommons.Core</projectUrl> <language /> <dependencies> </dependencies> <tags>AppLibrary</tags> </metadata> <files /> </package>
nuspecファイルの作成は、以下の「NuGet Package Explorer」を使うと簡単です。 npe.codeplex.com
また、Nugetのデプロイについては以下に詳しく記載されています。
さらにGitHubのReleaseを自動化したい場合は以下のエントリーを参考に設定するといいと思います。