公式ドキュメントを読みましょうって話なのですが、個人的に詰まった部分だけ備忘録として。
VirtualMachineをAzurePipelineで使えるようにする
基本的には公式Documentのとおり
https://docs.microsoft.com/ja-jp/azure/devops/pipelines/process/environments-virtual-machines?view=azure-devops
画面下部の「Registration Script」に対象となるLinux仮想マシンで
実行するコマンドが表示されていますので、これをコピーしてLinux仮想マシンで実行することで、
AzurePipelineから環境を使えるようになります。
このコマンドの引数で、DevOpsに登録する名前として$HOSTNAMEが使われていますが、
名前が長かったり、.(ドット)などの文字が利用不可なため、Agent登録時にエラーになる場合があります。
その時は、$HOSTNAMEの部分を任意の文字列に置き換えてください。
問題なければコマンドが完了すれば、Azure Pipelines Agentが実行されます。
これでLinux仮想マシンをAzurePipelineから使うことができるようになります。
AzurePipelineでのYaml設定
先ほど登録して環境を使うようにYamlを書きます。
公式Docs→ https://docs.microsoft.com/ja-jp/azure/devops/pipelines/ecosystems/deploy-linux-vm?view=azure-devops
jobs:
- deployment: VMDeploy
displayName: web
environment:
name: [環境名]
resourceType: VirtualMachine
tags: web
strategy:
runOnce:
deploy:
steps:
- checkout: self
checkout: selfでリポジトリの環境をサーバーに展開することができる。(これがわからずに数日悩んだ、、、)
サーバー側にgitの導入が必要なので、ない場合は入れておくこと。
dnf install git
これでパイプラインを実行すると、サーバー側にAzureReposのファイルが展開されます。
展開される場所は自分の環境だと下記でした
[azagentのルート]/_work/1/s