Megosztás a következőn keresztül:


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: