Azure Pipelines Exécutez l'agent avec Docker.
Un service qui construit / déploie comme Jenkins.
C'est un démon qui exécute réellement le processus de génération et de déploiement en réponse aux instructions d'Azure Pipelines.
Azure Pipelines est fourni avec une version gratuite, mais il existe une limite de temps d'exécution mensuelle. En préparant votre propre agent, vous pouvez l'utiliser sans le temps maximum.
Consultez l'URL Azure Dev Ops. Je pense que cela ressemble à https: // dev.azure.com / hogehoge
. C'est la partie de «hogehoge».
Personal Access Token
C'est ce dont l'agent a besoin pour se connecter à Azure DevOps.
Cliquez ici [Comment obtenir un jeton d'accès personnel](https://docs.microsoft.com/ja-jp/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs = page de prévisualisation).
Définissez ce qui suit comme étendue.
L'image officielle de Micorosoft est obsolète, donc je l'ai créée bien que j'en ai peur. sengokyu/azure-pipelines-agent:latest Tirez comme d'habitude.
docker pull sengokyu/azure-pipelines-agent
Au moment de l'exécution, indiquez le nom de l'organisation et le jeton d'accès personnel préparés à l'avance en tant que variables d'environnement.
Nom de variable | valeur |
---|---|
ORG | Nom de l'organisation |
TOKEN | Personal Access Token |
docker run -d -e TOKEN=${PAT} -e ORG=${ORG} sengokyu/azure-pipelines-agent
Déployez à l'aide du modèle ARM.
Il s'agit de la partie de définition de ressource du modèle ARM. Le tout est mis sur GitHub.
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"
}
}
]
Créez un fichier décrivant chaque paramètre.
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 }
}
}
Exécutez la commande az.
az deployment group create -f template.json -p @parameters.json -g ResourceGroupName
Recommended Posts