Azure仮想マシンスケールセットエージェント(Windows)を使って、PowerShellやバッチファイル等の資産をWindows Serverに配置するということをやってみたいと思います。
前提
- Azure DevOps OrganizationとProject作成済み
- Azure Repos作成済み
Windows VMSS作成
Service Principal Service Connection作成
Agent pools作成
Library作成
Pipelines作成
- azure-pipelines.ymlを以下のように構成します。
trigger:
- main
- dev
variables:
- group: OS_Variables
- name: targetVM
${{ if eq(variables['Build.SourceBranchName'], 'main') }}:
value: "192.168.0.4"
${{ if eq(variables['Build.SourceBranchName'], 'dev') }}:
value: "192.168.0.5"
pool:
name: vmss-win
steps:
- task: WindowsMachineFileCopy@2
inputs:
SourcePath: $(Build.SourcesDirectory)
MachineNames: $(targetVM)
AdminUserName: $(userVariable)
AdminPassword: $(passwordVariable)
TargetPath: 'C:\test'
- 今回main,devの2つブランチがあり、それぞれ異なる環境のVMにコピーすることを想定しています。
- コピー先のVMのIPアドレスはブランチ名を判断してtargetVM変数に格納しています。
- この状態でパイプラインを実行し、C:¥testフォルダーにReposの資産が配置されていれば完了です。
以上