GitRepo-kötet csatlakoztatása Azure Container Instances
Megtudhatja, hogyan csatlakoztathat gitRepo-kötetet egy Git-adattár tárolópéldányokba való klónozásához.
Megjegyzés
A gitRepo-kötetek csatlakoztatása jelenleg Linux-tárolókra korlátozódik. Miközben azon dolgozunk, hogy az összes szolgáltatást a Windows-tárolókba is elérhetővé tettük, az áttekintésben megtalálhatja a platform aktuális különbségeit.
gitRepo-kötet
A gitRepo-kötet csatlakoztat egy könyvtárat, és a tároló indításakor 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:// a vagy https:// a-t is. |
directory |
No | 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 a ". " értéket adja meg, a rendszer klónozza az adattárat a kötet könyvtárába. Ellenkező esetben a Git-adattár a megadott név alkönyvtárába lesz klónozva a kötetkönyvtárban. |
revision |
No | 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 a --gitrepo-url
és --gitrepo-mount-path
a paramétert 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 a tárolópéldányba /mnt/aci-helloworld
:
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 nyisson meg egy rendszerhéjat a tárolóban az az container exec paranccsal, é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, amikor tárolópéldányokat helyez üzembe egy Azure Resource Manager-sablonnal, 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
a tárolócsoport azon tárolócsoportjában, amelyben csatlakoztatni szeretné a gitRepo-kötetet.
Az alábbi Resource Manager sablon például létrehoz egy egyetlen tárolóból álló tárolócsoportot. 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
A tárolópéldányok Azure Resource Manager-sablonnal történő üzembe helyezésére vonatkozó példát lásd: Többtárolós csoportok üzembe helyezése Azure Container Instances.
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 a következőhöz hasonlóan jelenik meg (ahol a "gituser" a GitHub-felhasználónév, 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" kifejezést az alábbi példában) egy érvényes PAT-el kombinálva:
--gitrepo-url https://azurereposuser:abcdef1234fdsa4321abcdef@dev.azure.com/your-org/_git/some-private-repository
A GitHubhoz és az Azure Reposhoz készült személyes hozzáférési jogkivonatokkal kapcsolatos további információkért tekintse meg a következőket:
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 a Azure Container Instances: