AppVeyor の設定についていろいろ

AppVeyor の設定について、すぐにはわからなかった点を備忘録として残します。

GUI による設定と ‘appveyor.yml’ による設定

AppVeyor には、プロジェクトのページにある “SETTINGS” を使う GUI による設定と、他の CI サービスと同様にリポジトリのルートに ‘appveyor.yml’ を置く設定の二つがあります。

GUI での設定は ‘appveyor.yml’ でほとんどのものが上書きされます。( ‘appveyor.yml’ で設定していない項目が継承されるわけではない) なお、 GUI と ‘appveyor.yml’ で同じ名前の環境変数を定義した場合、 GUI のものが優先される仕様のようです。これに気付かず時間を無駄にしてしまった記憶があります。

GUI で設定し、 “Export YML” で出力した結果を改変した ‘.yml’ ファイルを使うというというのが楽だと思います。

セキュア変数

セキュア変数機能は、 ‘appveyor.yml’ の中に見せたくない設定項目がある場合に使えます。他の CI サービスにもあったりする機能です。具体的には API キー、アクセスキー、パスワードなどです。 この時に使えるのがセキュア変数です。設定方法についてはこちらのページに詳しく書かれていました。

これも “Export YML” では、設定していれば自動でセキュアな値を出力してくれます。

環境変数

AppVeyor では環境変数を設定することができます。 GUI では “SETTINGS” の “Environment” の中に “Environment variables” で、 ‘appveyor.yml’ では environment の子要素として記述しておきます。これも “Export YML” を使うとエラーが出にくくなるのでお勧めです。上にも書きましたが、同じ項目名の場合は例外的に ‘appveyor.yml’ の値が使われます。

例えば “foobar” という名前の環境変数を設定した場合、設定内では $(foobar) 、コンソールでは foobar 、 PowerShell 内では $env:foobar で、その値を参照することができます。

AppVeyor 自体が用意している環境変数の一覧はこちら