Zainstaluj wolumin gitRepo w usłudze Azure Container Instances
Dowiedz się, jak zainstalować wolumin gitRepo , aby sklonować repozytorium Git do wystąpień kontenera.
Uwaga
Instalowanie woluminu gitRepo jest obecnie ograniczone do kontenerów systemu Linux. Podczas pracy nad wprowadzeniem wszystkich funkcji do kontenerów systemu Windows można znaleźć bieżące różnice między platformami w omówieniu.
wolumin gitRepo
Wolumin gitRepo instaluje katalog i klonuje do niego określone repozytorium Git podczas tworzenia kontenera. Używając woluminu gitRepo w wystąpieniach kontenera, można uniknąć dodawania kodu do tego w aplikacjach.
Podczas instalowania woluminu gitRepo można ustawić trzy właściwości, aby skonfigurować wolumin:
Właściwości | Wymagania | opis |
---|---|---|
repository |
Tak | Pełny adres URL, w tym http:// lub https:// , repozytorium Git do sklonowania. |
directory |
Nie. | Katalog, do którego należy sklonować repozytorium. Ścieżka nie może zawierać ani rozpoczynać się od ciągu ".. ". Jeśli określisz wartość ". ", repozytorium zostanie sklonowane do katalogu woluminu. W przeciwnym razie repozytorium Git jest klonowane do podkatalogu podanej nazwy w katalogu woluminów. |
revision |
Nie. | Skrót zatwierdzenia poprawki do sklonowania. Jeśli nie określono, HEAD poprawka zostanie sklonowana. |
Instalowanie woluminu gitRepo: interfejs wiersza polecenia platformy Azure
Aby zainstalować wolumin gitRepo podczas wdrażania wystąpień kontenera za pomocą interfejsu wiersza polecenia platformy Azure, podaj --gitrepo-url
parametry i --gitrepo-mount-path
do polecenia az container create . Opcjonalnie można określić katalog w woluminie do sklonowania do (--gitrepo-dir
) i skrót zatwierdzenia poprawki do sklonowania (--gitrepo-revision
).
To przykładowe polecenie klonuje przykładową aplikację microsoft aci-helloworld do /mnt/aci-helloworld
wystąpienia kontenera:
az container create \
--resource-group myResourceGroup \
--name hellogitrepo \
--image mcr.microsoft.com/azuredocs/aci-helloworld \
--dns-name-label aci-demo \
--ports 80 \
--gitrepo-url https://github.com/Azure-Samples/aci-helloworld \
--gitrepo-mount-path /mnt/aci-helloworld
Aby sprawdzić, czy wolumin gitRepo został zainstalowany, uruchom powłokę w kontenerze za pomocą polecenia az container exec i wyświetl katalog:
az container exec --resource-group myResourceGroup --name hellogitrepo --exec-command /bin/sh
/usr/src/app # ls -l /mnt/aci-helloworld/
total 16
-rw-r--r-- 1 root root 144 Apr 16 16:35 Dockerfile
-rw-r--r-- 1 root root 1162 Apr 16 16:35 LICENSE
-rw-r--r-- 1 root root 1237 Apr 16 16:35 README.md
drwxr-xr-x 2 root root 4096 Apr 16 16:35 app
Instalowanie woluminu gitRepo: Resource Manager
Aby zainstalować wolumin gitRepo podczas wdrażania wystąpień kontenera za pomocą szablonu usługi Azure Resource Manager, najpierw wypełnij tablicę volumes
w sekcji grupy properties
kontenerów szablonu. Następnie dla każdego kontenera w grupie kontenerów, w której chcesz zainstalować wolumin gitRepo , wypełnij tablicę volumeMounts
w properties
sekcji definicji kontenera.
Na przykład poniższy szablon usługi Resource Manager tworzy grupę kontenerów składającą się z jednego kontenera. Kontener klonuje dwa repozytoria GitHub określone przez bloki woluminów gitRepo . Drugi wolumin zawiera dodatkowe właściwości określające katalog do sklonowania oraz skrót zatwierdzenia określonej poprawki do sklonowania.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"variables": {
"container1name": "aci-tutorial-app",
"container1image": "mcr.microsoft.com/azuredocs/aci-helloworld"
},
"resources": [
{
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2021-03-01",
"name": "volume-demo-gitrepo",
"location": "[resourceGroup().location]",
"properties": {
"containers": [
{
"name": "[variables('container1name')]",
"properties": {
"image": "[variables('container1image')]",
"resources": {
"requests": {
"cpu": 1,
"memoryInGb": 1.5
}
},
"ports": [
{
"port": 80
}
],
"volumeMounts": [
{
"name": "gitrepo1",
"mountPath": "/mnt/repo1"
},
{
"name": "gitrepo2",
"mountPath": "/mnt/repo2"
}
]
}
}
],
"osType": "Linux",
"ipAddress": {
"type": "Public",
"ports": [
{
"protocol": "tcp",
"port": "80"
}
]
},
"volumes": [
{
"name": "gitrepo1",
"gitRepo": {
"repository": "https://github.com/Azure-Samples/aci-helloworld"
}
},
{
"name": "gitrepo2",
"gitRepo": {
"directory": "my-custom-clone-directory",
"repository": "https://github.com/Azure-Samples/aci-helloworld",
"revision": "d5ccfcedc0d81f7ca5e3dbe6e5a7705b579101f1"
}
}
]
}
}
]
}
Wynikowa struktura katalogów dwóch sklonowanych repozytoriów zdefiniowanych w poprzednim szablonie to:
/mnt/repo1/aci-helloworld
/mnt/repo2/my-custom-clone-directory
Aby zapoznać się z przykładem wdrożenia wystąpienia kontenera przy użyciu szablonu usługi Azure Resource Manager, zobacz Wdrażanie grup z wieloma kontenerami w usłudze Azure Container Instances.
Uwierzytelnianie prywatnego repozytorium Git
Aby zainstalować wolumin gitRepo dla prywatnego repozytorium Git, określ poświadczenia w adresie URL repozytorium. Zazwyczaj poświadczenia są w postaci nazwy użytkownika i osobistego tokenu dostępu (PAT), który udziela dostępu w zakresie do repozytorium.
Na przykład parametr interfejsu wiersza polecenia --gitrepo-url
platformy Azure dla prywatnego repozytorium GitHub będzie wyglądać podobnie do następującego (gdzie "gituser" jest nazwą użytkownika usługi GitHub, a ciąg "abcdef1234fdsa4321abcdef" jest osobistym tokenem dostępu użytkownika):
--gitrepo-url https://gituser:abcdef1234fdsa4321abcdef@github.com/GitUser/some-private-repository
W przypadku repozytorium Git usługi Azure Repos określ dowolną nazwę użytkownika (możesz użyć nazwy "azurereposuser", jak w poniższym przykładzie) w połączeniu z prawidłowym identyfikatorem dostępu:
--gitrepo-url https://azurereposuser:abcdef1234fdsa4321abcdef@dev.azure.com/your-org/_git/some-private-repository
Aby uzyskać więcej informacji na temat osobistych tokenów dostępu dla usług GitHub i Azure Repos, zobacz następujące artykuły:
GitHub: tworzenie osobistego tokenu dostępu dla wiersza polecenia
Azure Repos: tworzenie osobistych tokenów dostępu w celu uwierzytelniania dostępu
Następne kroki
Dowiedz się, jak zainstalować inne typy woluminów w usłudze Azure Container Instances: