GitRepo-kötet csatlakoztatása az Azure Container Instancesben
Megtudhatja, hogyan csatlakoztathat gitRepo-kötetet egy Git-adattár klónozásához a tárolópéldányokba.
Feljegyzés
A GitRepo-kötetek csatlakoztatása jelenleg Linux-tárolókra korlátozódik. Bár dolgozunk azon, hogy az összes funkciót a Windows-tárolókra is elérhetővé tettük, az áttekintésben megtalálhatja az aktuális platformbeli különbségeket.
gitRepo-kötet
A gitRepo-kötet csatlakoztat egy könyvtárat, és a tároló létrehozása során klónozza a megadott Git-adattárat. Ha gitRepo-kötetet használ a tárolópéldányokban, elkerülheti a kód hozzáadását az alkalmazásokban.
GitRepo-kötet csatlakoztatásakor három tulajdonságot állíthat be a kötet konfigurálásához:
Tulajdonság | Kötelező | Leírás |
---|---|---|
repository |
Igen | A klónozandó Git-adattár teljes URL-címe, beleértve http:// vagy https:// azt is. |
directory |
Nem | Könyvtár, amelybe az adattárat klónozni kell. Az elérési út nem tartalmazhat és nem kezdődhet a következővel: ".. ". Ha ". " értéket ad meg, a rendszer klónozza az adattárat a kötet könyvtárába. Ellenkező esetben a Git-adattár a kötetkönyvtárban lévő adott név alkönyvtárába van klónozva. |
revision |
Nem | A klónozni kívánt változat véglegesítési kivonata. Ha nincs meghatározva, a HEAD változat klónozva lesz. |
GitRepo-kötet csatlakoztatása: Azure CLI
Ha egy gitRepo-kötetet szeretne csatlakoztatni, amikor tárolópéldányokat helyez üzembe az Azure CLI-vel, adja meg és --gitrepo-mount-path
adja meg a --gitrepo-url
paramétereket az az container create parancsnak. Igény szerint megadhatja a klónozni kívánt kötet könyvtárát (--gitrepo-dir
) és a klónozni kívánt változat véglegesítési kivonatát (--gitrepo-revision
).
Ez a példaparancs klónozza a Microsoft aci-helloworld mintaalkalmazást /mnt/aci-helloworld
a tárolópéldányban:
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
A gitRepo-kötet csatlakoztatásának ellenőrzéséhez indítsa el a rendszerhéjat a tárolóban az az container exec használatával, és sorolja fel a könyvtárat:
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
GitRepo-kötet csatlakoztatása: Resource Manager
Ha egy GitRepo-kötetet szeretne csatlakoztatni a tárolópéldányok Azure Resource Manager-sablonnal való üzembe helyezésekor, először töltse ki a volumes
tömböt a sablon tárolócsoport properties
szakaszában. Ezután töltse ki volumeMounts
a tömböt a tárolódefiníció szakaszában properties
annak a tárolócsoportnak minden tárolójához, amelyben csatlakoztatni szeretné a GitRepo-kötetet.
Az alábbi Resource Manager-sablon például létrehoz egy tárolócsoportot, amely egyetlen tárolóból áll. A tároló klónoz két GitHub-adattárat, amelyeket a gitRepo-kötetblokkok határoznak meg. A második kötet további tulajdonságokat tartalmaz, amelyek meghatározzák a klónozandó könyvtárat, valamint egy adott klónozandó változat véglegesítési kivonatát.
{
"$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"
}
}
]
}
}
]
}
Az előző sablonban definiált két klónozott adattár könyvtárszerkezete a következő:
/mnt/repo1/aci-helloworld
/mnt/repo2/my-custom-clone-directory
Ha egy Azure Resource Manager-sablonnal rendelkező tárolópéldány üzembe helyezésére szeretne példát látni, olvassa el a többtárolós csoportok üzembe helyezését az Azure Container Instancesben.
Privát Git-adattár hitelesítése
Ha gitRepo-kötetet szeretne csatlakoztatni egy privát Git-adattárhoz, adja meg a hitelesítő adatokat az adattár URL-címében. A hitelesítő adatok általában felhasználónév és személyes hozzáférési jogkivonat (PAT) formájában jelennek meg, amely hatókörön belüli hozzáférést biztosít az adattárhoz.
Egy privát GitHub-adattár Azure CLI-paramétere --gitrepo-url
például az alábbihoz hasonló módon jelenik meg (ahol a "gituser" a GitHub felhasználóneve, az "abcdef1234fdsa4321abcdef" pedig a felhasználó személyes hozzáférési jogkivonata):
--gitrepo-url https://gituser:abcdef1234fdsa4321abcdef@github.com/GitUser/some-private-repository
Azure Repos Git-adattár esetén adjon meg bármilyen felhasználónevet (használhatja az "azurereposuser"-t, mint az alábbi példában), és adjon meg érvényes PAT-t:
--gitrepo-url https://azurereposuser:abcdef1234fdsa4321abcdef@dev.azure.com/your-org/_git/some-private-repository
A GitHub és az Azure Repos személyes hozzáférési jogkivonatairól az alábbiakban talál további információt:
GitHub: Személyes hozzáférési jogkivonat létrehozása a parancssorhoz
Azure-adattárak: Személyes hozzáférési jogkivonatok létrehozása a hozzáférés hitelesítéséhez
Következő lépések
Megtudhatja, hogyan csatlakoztathat más kötettípusokat az Azure Container Instancesben: