AppVeyor
.NET開発者向けのCI&デプロイツール
Continuous Integration and Deployment service for Windows developers - Appveyor
オープンソースなプロジェクトでは無料で使える。
環境 | CPU | Memory |
---|---|---|
Pro | 2コア | 2.5GB to 7GB |
OSS(有料) | 2コア | 7GB |
OSS(無料) | 1コア共有または専有 | 1.7GB to 3.5GB |
プラン | 価格 | プライベートプロジェクト | 同時実行ジョブ |
---|---|---|---|
Premium | $99/月 or $990/年 | 無限 | 2 ※ |
Pro | $59/月 or $590/年 | 無限 | 1 ※ |
Basic | $29/月 | 1つまで | 1 ※ |
※$40/月で追加可能 |
AppVeyor 設定項目 - Environment編 - Qiita
SETTINGS
GUIでの設定項目について概要をまとめます。
リポジトリの種類により設定項目が一部異なります。
今回は、GitHubのプロジェクトの場合について記載します。
General
全般設定
Project name
プロジェクト名
Next build number
次回ビルド時に使用されるビルドナンバー
Build version format
バージョンの形式
- {build}:ビルド毎にインクリメントされるビルドナンバー(Next build numberの値)
- {branch}:ビルド対象のブランチ名
e.g. {branch}-1.0.{build} master-1.0.0
Pull Requests do not increment build number
プルリクをビルドする際にはビルドナンバーをインクリメントしない
インクリメントしない場合、ランダムな文字列を付与する
e.g. 2.0.0-hogehoge
GitHub repository
対象のGitHubのリポジトリ
e.g. appveyor/ci
Default branch
Appveyorのプロジェクト画面やスケジュール、APIからビルドが実行された場合、ビルド対象となるブランチ名
Branches to build
ビルド対象となるブランチ
- All branches:全てのブランチ
- Only branches specified below:指定したブランチのみ(ホワイトリスト)
- All except branches specified below:指定したブランチ以外(ブラックリスト)
Do not build tags
タグがプッシュされた時にビルドしない
Build tags only
タグ以外がプッシュされた時にビルドしない
Do not build tags
とBuild tags only
は同時に選択できない
Fetch repository as zip archive
クローンではなくzipを取得し、ビルドする
リポジトリが巨大な場合、クローンに時間がかかるのを回避する場合に使用
Git clone depth
クローンの「--depth」オプション
「Fetch repository as zip archive」が無効の場合のみ有効
Webhook URL
まんまWebhook URL(Read Only)
AppVeyorからプロジェクトを作成すればGitHub側に自動で登録されるはず
https://ci.appveyor.com/api/github/webhook?id={hogehoge}
Build priority
ビルドの優先順位
複数のキューが溜まった場合、優先順位が高いものから先に実行されていく
1 > 2 > .... > 空欄
Build schedule
Crontab形式でビルドのスケジュールを指定
ncrontabを使用しているらしい
開発止まってないか?
Ignore appveyor.yml
appveyor.ymlの設定を無視してGUIでの設定を活かす
Custom configuration .yml file name
appveyor.yml以外のファイル名で設定ファイルを記述した場合、ファイル名を設定
「Ignore appveyor.yml」が無効の場合のみ有効
Skip branches without appveyor.yml
appveyor.ymlが無いブランチは対象外とする
「Ignore appveyor.yml」が無効の場合のみ有効
Rolling builds
同じブランチにコミットが連続した場合、実行中のビルド、キューをキャンセルし最新のコミット分のキューを追加する
メンバが多く、活発なプロジェクト向け
Always build closed Pull Requests
常にクローズされたプルリクをビルドする
無効の場合、クローズされたプルリクのビルド、キューはキャンセルされる
AssemblyInfo patching
AssemblyInfo を AppVeyor のビルド番号で上書きする
参考:AppVeyor で NuGet パッケージの作成とデプロイを自動化 | grabacr.nét
On build success script
ビルド成功時に実行するスクリプトを記述
PowerShellかCmdが選べる
On build error script
ビルド失敗時に実行するスクリプトを記述
PowerShellかCmdが選べる
On build finish script
ビルド完了時に実行するスクリプトを記述
PowerShellかCmdが選べる
Tags
カンマ区切りでタグを指定(GitHubのタグとは関係ない)
AppVeyorのプロジェクト一覧で同一タグが設定されたプロジェクトをグルーピングして見ることができる