Appveyor Azure イメージを更新する
Windows 上の Electron CI は AppVeyor を使用し、AppVeyor は Azure VM イメージを実行に使用します。 場合によっては、Chromium の要件が変更されたため、これらの VM イメージを更新する必要があります。 更新するには、PowerShell と Azure PowerShell モジュール が必要です。
時折、Chromium の変更やその他のビルド要件の変更により、これらのイメージを更新する必要があります。
ユースケースの例:
* `VS15.9` が必要なのに `VS15.7` がインストールされているので、Azure イメージを更新する必要がある。
修正したいイメージを指定します。
- appveyor.yml では、イメージは image プロパティで識別されます。
- 使用される名前は、クラウドを構築するために定義された "イメージ"、たとえば libcc-20 クラウド に対応しています。
- ビルドクラウドで変更するイメージを探し、そのイメージの VHD Blob Path をメモします。これはキーに対応する値です。
- 新しいイメージにコピーするにはこの URI パスが必要になります。
- また、AppVeyor 上で ディスクストレージアカウント名 とラベル付けされたストレージアカウント名も必要になります。
- appveyor.yml では、イメージは image プロパティで識別されます。
Azure ストレージアカウントキーを取得します
- LastPass (Azure Enterprise 傘下) に保存されている資格情報を使用して Azure にログインし、AppVeyor にある名前に対応するストレージアカウントを探します。
- 例えば、
appveyorlibccbuilds
という ディスクストレージアカウント名 の場合、ストレージアカウントのリスト @ ホーム < ストレージアカウントでappveyorlibccbuilds
を探します。- それをクリックして
アクセスキー
を見つけます。そして、リストにあるキーのうちどれでも使うことができます。
- それをクリックして
- 例えば、
- LastPass (Azure Enterprise 傘下) に保存されている資格情報を使用して Azure にログインし、AppVeyor にある名前に対応するストレージアカウントを探します。
Azure からフルの仮想マシンイメージ URI を取得します
- ホーム < ストレージアカウント <
$ACCT_NAME
< Blobs < イメージ に移動します。- そのリスト内の、Appveyor から入手した VHD パス名を探してクリックします。
- 出てきたウィンドウ上から URL 全体をコピーします。
- そのリスト内の、Appveyor から入手した VHD パス名を探してクリックします。
- ホーム < ストレージアカウント <
マスターイメージ PowerShell スクリプトをコピー を用いてイメージをコピーします。
- VM をイメージに対して起動する場合、そのイメージを AppVeyor で同時に使用することはできないため、VM をコピーする必要があります。
- このスクリプトを実行するために、Azure から取得したストレージアカウント名、キー、URI を使用します。
- URI についてはステップ 3 を参照してください。プロンプトが表示されたら、エンターを押してコピー先となるように同じストレージアカウントを使用します。
- デフォルトのコピーされたコンテナ名
(images)
を使用します - また、コピーの名前を変更するときは、(変更されている場合は) 新しいイメージに含まれる内容と日付スタンプを示す名前を使用します。
- 例:
libcc-20core-vs2017-15.9-2019-04-15.vhd
- 例:
- 前の手順で説明したように、Azure に行き、新しく作成したイメージの URI を取得します。
VHD PowerShell からマスター VM を作成 を用いて新しい VM を起動します。
- PowerShell から、
./create_master_vm_from_vhd.ps1
のようなps1
ファイルを実行します。 - AppVeyor ビルドクラウド定義で利用可能な認証情報が必要になります。
- これは以下のものが含まれます。
- クライアント ID
- クライアントの秘密
- テナント ID
- サブスクリプション ID
- リソースグループ
- 仮想ネットワーク
- これは以下のものが含まれます。
- 更に以下の指定が必要です
- マスター VM 名 - 一時 VM を識別するための一意な名前です
- マスター VM 容量 -
Standard_F32s_v2
を使用します - マスター VHD URI - 前のステップの最後で取得した URI を使用します
- 位置情報は
East US
を使用します
- PowerShell から、
Azure にログインし直して先ほど作成した VM を探します。ホーム < 仮想マシン <
$YOUR_NEW_VM
を見てください。- RDP (Remote Desktop) ファイルをダウンロードして VM にアクセスできます。
Microsoft リモート デスクトップを使用して、
接続
をクリックして VM に接続します。- VM にログインするための認証情報は、LastPass の
AppVeyor Enterprise マスター VM
認証情報下にあります。
- VM にログインするための認証情報は、LastPass の
必要に応じて VM を変更してください。
Azure で VM をシャットダウンして削除します。
Appveyor クラウドの設定に新しいイメージを追加するか、新しい VHD を指すように既存のイメージを変更します。