[Microsoft] Führen Sie den Azure Pipelines (VSTS) -Agenten auf Docker oder Azure Container Instance aus

Azure Pipelines Führen Sie den Agenten mit Docker aus.

Was sind Azure-Pipelines?

Ein Dienst, der wie Jenkins erstellt / bereitgestellt wird.

Was ist der Azure Pipelines Agent?

Es ist ein Daemon, der den Erstellungs- und Bereitstellungsprozess tatsächlich als Reaktion auf Anweisungen von Azure Pipelines ausführt.

Azure Pipelines wird mit einer kostenlosen Version geliefert, es gibt jedoch ein monatliches Laufzeitlimit. Indem Sie Ihren eigenen Agenten vorbereiten, können Sie ihn ohne maximale Zeit verwenden.

Was Sie im Voraus brauchen

Name der Organisation

Siehe die Azure Dev Ops-URL. Ich denke, es sieht aus wie "https: // dev.azure.com / hogehoge". Dies ist der Teil von hogehoge.

Personal Access Token

Dies ist, was der Agent benötigt, um eine Verbindung zu Azure DevOps herzustellen.

Klicken Sie hier So erhalten Sie ein persönliches Zugriffstoken = Vorschauseite).

Legen Sie Folgendes als Bereich fest.

Mit Docker ausführen

Das offizielle Bild von Micorosoft ist veraltet, also habe ich es erstellt, obwohl ich Angst habe. sengokyu/azure-pipelines-agent:latest Wie gewohnt ziehen.

docker pull sengokyu/azure-pipelines-agent

Geben Sie zum Zeitpunkt der Ausführung den Organisationsnamen und das im Voraus vorbereitete Personal Access Token als Umgebungsvariablen an.

Variablennamen Wert
ORG Name der Organisation
TOKEN Personal Access Token
docker run -d -e TOKEN=${PAT} -e ORG=${ORG} sengokyu/azure-pipelines-agent

Auf Azure Container-Instanz ausführen

Bereitstellung mithilfe der ARM-Vorlage.

Dies ist der Ressourcendefinitionsteil der ARM-Vorlage. Das Ganze ist auf GitHub gestellt.

template.json


  "resources": [
    {
      "name": "[parameters('containerGroupName')]",
      "type": "Microsoft.ContainerInstance/containerGroups",
      "apiVersion": "2019-12-01",
      "location": "[resourceGroup().location]",
      "properties": {
        "containers": [
          {
            "name": "[parameters('agent')]",
            "properties": {
              "image": "[variables('containerImage')]",
              "resources": {
                "requests": {
                  "cpu": "[parameters('cpu')]",
                  "memoryInGb": "[parameters('memoryInGb')]"
                }
              },
              "environmentVariables": [
                { "name": "TOKEN", "secureValue": "[parameters('token')]" },
                { "name": "ORG", "value": "[parameters('org')]" },
                { "name": "POOL", "value": "[parameters('pool')]" },
                { "name": "AGENT", "value": "[parameters('agent')]" }
              ]
            }
          }
        ],
        "osType": "Linux",
        "restartPolicy": "Never"
      }
    }
  ]

Erstellen Sie eine Datei, die jeden Parameter beschreibt.

parameters.json


{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "containerGroupName": { "value": "vsts-agent" },
    "pool": { "value": "Default" },
    "agent": { "value": "vsts-agent-on-aci" },
    "token": { "value": "YourPersonalAccessToken" },
    "org": { "value": "YourOrganizationName" },
    "cpu": { "value": 4 },
    "memoryInGb": { "value": 8 }
  }
}

Führen Sie den Befehl az aus.

az deployment group create -f template.json -p @parameters.json -g ResourceGroupName

Recommended Posts

[Microsoft] Führen Sie den Azure Pipelines (VSTS) -Agenten auf Docker oder Azure Container Instance aus
Führen Sie PureScript auf einem Docker-Container aus
Führen Sie NordVPN im Docker (Windows) Ubuntu-Container aus
Führen Sie openvpn unter Docker aus (Windows)
Führen Sie das SSE-Beispiel (Server-Sent-Event) auf Docker aus
Führen Sie Puppeteer-Core auf Heroku aus (Docker Edition)
Führen Sie die AWS CLI in Docker aus
So führen Sie JavaFX unter Docker aus
Zusammenfassung des Docker-Verständnisses für Anfänger Until ~ Bis zur Bereitstellung eines Docker-Containers auf einer EC2-Instanz ~