Code for final

ふぁいなる向けのコード置き場です。すでにコードじゃないこともいっぱい。

AppVeyorでGitHubプロジェクトと連携したときにする最低限の設定。

GitHubでプロジェクトを作成するごとにいつもAppVeyorの設定をいままで作ったものを見ながら 設定していたんですけど、毎回見ながらやるのがメンドウになったので最低限にやることをまとめておきます。

1.AppVeyorにログインして新しいプロジェクトと紐付ける。
NewProjectを選択してGitHubから連携したいプロジェクトを選択してAddをクリック。 もちろんBitBucketとかVisual Stduio OnlineでもOKです。

2.設定を行う。
プロジェクトのトップページからSETTINGSをクリックする。 以下にカテゴリ別に最低限にやることをまとめます。 カテゴリ単位に一番したにあるSaveボタンで保存してください。

General

ビルドバージョン

f:id:finalstream:20151108143138p:plain

ビルド番号を0.0.xにしたい場合ときは変更します。

ビルドブランチ

f:id:finalstream:20151108151306p:plain

ビルド対象のブランチをmasterだけにします。

AssemblyInfoパッチ

f:id:finalstream:20151108143431p:plain

ビルドしたアセンブリのバージョンをAppVeyorのビルドバージョンと同じにしたい場合はアセンブリパッチをONにして、「**\AssemblyInfo.*」と入力します。(ONにするだけで最初から自動入力されます)

Build

ビルド設定

f:id:finalstream:20151108144552p:plain

プロジェクトのデフォルトでも問題ないかもしれないですが、DebugでビルドされないようにReleaseを指定します。Platformはお好みで。

f:id:finalstream:20151108154932p:plain

ソリューションファイル名を指定します。これを指定忘れるとこけます。

ビルド前スクリプト

f:id:finalstream:20151108155238p:plain

nugetを参照するプロジェクトの場合はビルド前に「nuget restore」するようにします。

自動パッケージ

f:id:finalstream:20151108144859p:plain

Nugetにパッケージングする場合はチェックをつけます。

Artifacts

アーティファクト

f:id:finalstream:20151108145354p:plain

ビルドしたものを自動でパッケージングしたい場合に設定します。PATH TO ARTIFACTには、GitHubリポジトリからの相対パス(ビルドしたときにできるbinまでの)を、DEPLOYMENT NAMEはプロジェクト名を。

Deployment

デブロイ

f:id:finalstream:20151108150130p:plain

ビルド後に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のデプロイについては以下に詳しく記載されています。

grabacr.net

さらにGitHubのReleaseを自動化したい場合は以下のエントリーを参考に設定するといいと思います。

final.hateblo.jp