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 自体が用意している環境変数の一覧はこちら。