Helyszíni Bitbucket-adattárak létrehozása

Azure DevOps Services

Megjegyzés:

A Bitbucket Cloud és az Azure Pipelines integrálásához lásd: Bitbucket Cloud.

A helyszíni Bitbucket-kiszolgálót vagy egy másik Git-kiszolgálót integrálhatja az Azure Pipelines szolgáltatással. Előfordulhat, hogy a helyszíni kiszolgáló ki van téve az internetnek, vagy nem.

Ha a helyszíni kiszolgáló elérhető az Azure Pipelines szolgáltatást futtató kiszolgálókról, akkor:

  • beállíthatja a klasszikus buildelést és a CI-triggerek konfigurálását

Ha a helyszíni kiszolgáló nem érhető el az Azure Pipelines szolgáltatást futtató kiszolgálókról, akkor:

  • beállíthatja a klasszikus buildelési folyamatokat, és manuális buildeket indíthat el
  • nem konfigurálhatók a CI-triggerek

Megjegyzés:

A YAML-folyamatok nem működnek a helyszíni Bitbucket-adattárakkal.

Megjegyzés:

A helyszíni Bitbucket-adattárakban nem érhetők el PR-eseményindítók.

Ha a helyszíni kiszolgáló elérhető az üzemeltetett ügynököktől, akkor az üzemeltetett ügynökökkel manuális, ütemezett vagy CI-buildeket futtathat. Ellenkező esetben olyan saját üzemeltetésű ügynököket kell beállítania, amelyek hozzáférhetnek a helyszíni kiszolgálóhoz, és lekérhetik a kódot.

Elérhető az Azure Pipelinesból

Ha a helyszíni Bitbucket-kiszolgáló elérhető az Azure Pipelines szolgáltatásból, hozzon létre egy másik Git-szolgáltatáskapcsolatot , és ezzel hozzon létre egy folyamatot. Ellenőrizze, hogy megkísérli-e elérni ezt a Git-kiszolgálót az Azure Pipelinesból.

A CI-triggerek lekérdezéssel működnek, és nem webhookon keresztül. Más szóval az Azure Pipelines rendszeres időközönként ellenőrzi a Bitbucket-kiszolgálót, ha vannak kódfrissítések. Ha vannak ilyenek, az Azure Pipelines új futtatásba kezd.

Nem érhető el az Azure Pipelinesból

Ha a Bitbucket-kiszolgáló nem érhető el az Azure Pipelinesból, két lehetősége van:

  • Az informatikai részleggel együttműködve nyisson meg egy hálózati útvonalat az Azure Pipelines és a helyszíni Git-kiszolgáló között. Hozzáadhat például kivételeket a tűzfalszabályokhoz, hogy az Azure Pipelinesból érkező forgalom áthaladhasson. Az Azure DevOps IP-címeinek szakaszában megtekintheti, hogy mely IP-címeket kell engedélyeznie. Emellett nyilvános DNS-bejegyzéssel kell rendelkeznie a Bitbucket-kiszolgálóhoz, hogy az Azure Pipelines feloldhassa a kiszolgáló teljes tartománynevét egy IP-címmel.

  • Használhat másik Git-kapcsolatot is, de azt is jelezheti az Azure Pipelinesnak, hogy ne próbálja meg elérni ezt a Git-kiszolgálót az Azure Pipelinesból. A CI- és PR-triggerek nem érhetők el más Git-adattárakban. Csak manuális vagy ütemezett folyamatfuttatásokat indíthat el.

Elérhető a Microsoft által üzemeltetett ügynököktől

Egy másik döntés, amelyet esetleg meg kell hoznia, hogy a Microsoft által üzemeltetett ügynököket vagy a saját üzemeltetésű ügynököket használja-e a folyamatok futtatásához. Ez a választás gyakran attól függ, hogy a Microsoft által üzemeltetett ügynökök elérhetik-e a kiszolgálót. Annak ellenőrzéséhez, hogy tudnak-e, hozzon létre egy folyamatot a Microsoft által üzemeltetett ügynökök használatára, és mindenképpen adjon hozzá egy lépést a forráskód kiszolgálóról való kivételéhez. Ha ez sikeres, akkor továbbra is használhatja a Microsoft által üzemeltetett ügynököket.

Nem érhető el a Microsoft által üzemeltetett ügynököktől

Ha a fenti szakaszban említett egyszerű tesztfolyamat a hibával TF401019: The Git repository with name or identifier <your repo name> does not exist or you do not have permissions for the operation you are attemptingmeghiúsul, akkor a Bitbucket-kiszolgáló nem érhető el a Microsoft által üzemeltetett ügynököktől. Ezt valószínűleg az okozza, hogy a tűzfal blokkolja a kiszolgálókról érkező forgalmat. Ebben az esetben két lehetősége van:

  • Az informatikai részleggel együttműködve nyisson meg egy hálózati útvonalat a Microsoft által üzemeltetett ügynökök és a Bitbucket-kiszolgáló között. Lásd a Microsoft által üzemeltetett ügynökök hálózatkezeléséről szóló szakaszt.

  • Váltás saját üzemeltetésű ügynökök vagy méretezési csoportok ügynökeinek használatára. Ezek az ügynökök beállíthatók a hálózaton belül, és így hozzáférhetnek a Bitbucket-kiszolgálóhoz. Ezek az ügynökök csak kimenő kapcsolatokat igényelnek az Azure Pipelineshoz. A bejövő kapcsolatokhoz nincs szükség tűzfal megnyitására. Győződjön meg arról, hogy a szolgáltatáskapcsolat létrehozásakor megadott kiszolgáló neve feloldható a saját üzemeltetésű ügynököktől.

Azure DevOps IP-címek

Ha más Git-kapcsolattal állít be egy klasszikus folyamatot, letiltja az Azure Pipelines szolgáltatás és a Bitbucket-kiszolgáló közötti kommunikációt, és saját üzemeltetésű ügynökökkel készít kódokat, csökkentett szintű felhasználói élményt kap:

  • A folyamat létrehozásakor manuálisan kell beírnia az adattár nevét
  • Nem használhat CI-eseményindítókat, mert az Azure Pipelines nem fogja tudni lekérdezni a kód módosításait
  • Az ütemezett eseményindítók nem használhatók úgy, hogy csak akkor legyenek létrehozva, ha változások történnek
  • A felhasználói felületen nem tekintheti meg a legújabb véglegesítéssel kapcsolatos információkat

Ha szeretné továbbfejleszteni ezt a felületet, fontos engedélyeznie az Azure Pipelines és a Bitbucket Server közötti kommunikációt.

Ha engedélyezni szeretné, hogy az Azure DevOpsból érkező forgalom elérje a Bitbucket-kiszolgálót, adja hozzá a bejövő kapcsolatokban megadott IP-címeket vagy szolgáltatáscímkéket a tűzfal engedélyezési listájához. ExpressRoute használata esetén az ExpressRoute IP-tartományait is adja meg a tűzfal engedélyezési listájához.

Engedélyezze az Azure Pipelinesnak, hogy megkísérlje elérni a Git-kiszolgálót az Egyéb Git szolgáltatáskapcsolatban.

Információs futtatások

Egy információs futtatás azt jelzi, hogy az Azure DevOps nem tudta lekérni egy YAML-folyamat forráskódját. A forráskód lekérése külső eseményekre, például leküldéses véglegesítésre válaszul történik. Belső eseményindítókra is reagálva történik, például annak ellenőrzése, hogy vannak-e kódmódosítások, és ütemezett futtatás indítása vagy sem. A forráskód lekérése több okból is meghiúsulhat, mivel a git-adattár szolgáltatója gyakran kéri a szabályozást. Az információs futtatás megléte nem feltétlenül jelenti azt, hogy az Azure DevOps futtatni fogja a folyamatot.

Az információs futtatás az alábbi képernyőképen láthatóhoz hasonlóan néz ki.

Screenshot of an informational pipeline run.

A következő attribútumok által futtatott információk felismerhetők:

  • Az állapot: Canceled
  • Az időtartam: < 1s
  • A futtatás neve a következő szövegek egyikét tartalmazza:
    • Could not retrieve file content for {file_path} from repository {repo_name} hosted on {host} using commit {commit_sha}.
    • Could not retrieve content for object {commit_sha} from repository {repo_name} hosted on {host}.
    • Could not retrieve the tree object {tree_sha} from the repository {repo_name} hosted on {host}.
    • Could not find {file_path} from repository {repo_name} hosted on {host} using version {commit_sha}. One of the directories in the path contains too many files or subdirectories.
  • A futtatás neve általában azt a BitBucket/GitHub-hibát tartalmazza, amely miatt a YAML-folyamat betöltése meghiúsult
  • Nincsenek fázisok / feladatok / lépések

További információ az információs futtatásokról.

Korlátozások

Az Azure Pipelines legfeljebb 2000 ágat tölt be egy adattárból az Azure Devops Portal legördülő listáiba, például a manuális és ütemezett buildek alapértelmezett ágába, vagy amikor egy folyamat manuális futtatásakor kiválaszt egy ágat. Ha nem látja a kívánt ágat a listában, manuálisan írja be a kívánt ágnevet.

GYIK

A Bitbucket Server integrációjával kapcsolatos problémák a következő kategóriákba sorolhatók:

Sikertelen eseményindítók

Leküldtem egy módosítást a kiszolgálómra, de a folyamat nem aktiválódik.

Kövesse az alábbi lépéseket a sikertelen eseményindítók hibaelhárításához:

  • Elérhető a Bitbucket-kiszolgáló az Azure Pipelinesból? Az Azure Pipelines rendszeresen lekérdezi a Bitbucket-kiszolgálót a módosításokról. Ha a Bitbucket-kiszolgáló tűzfal mögött található, előfordulhat, hogy ez a forgalom nem éri el a kiszolgálót. További információkért tekintse meg az Azure DevOps IP-címeit , és ellenőrizze, hogy kivételeket adott-e az összes szükséges IP-címhez. Előfordulhat, hogy ezek az IP-címek megváltoztak, mivel eredetileg beállította a kivételszabályokat. Csak akkor indíthat manuális futtatásokat, ha külső Git-kapcsolatot használt, és ha a kiszolgáló nem érhető el az Azure Pipelinesból.

  • A folyamat szüneteltetve van vagy le van tiltva? Nyissa meg a folyamat szerkesztőjében, majd válassza a Gépház az ellenőrzéshez. Ha a folyamat szüneteltetve van vagy le van tiltva, az eseményindítók nem működnek.

  • Kizárta azokat az ágakat vagy útvonalakat, amelyekbe leküldte a módosításokat? A teszteléshez küldjön egy módosítást egy belefoglalt ágban lévő elérési útra. Vegye figyelembe, hogy az eseményindítók elérési útjai megkülönböztetik a kis- és nagybetűket. Az eseményindítók elérési útjainak megadásakor győződjön meg arról, hogy ugyanazt a esetet használja, mint a valódi mappáké.

Nem küldtem le frissítéseket a kódomra, de a folyamat még mindig aktiválódik.

  • A Bitbucket folyamatos integrációs eseményindítója lekérdezéssel működik. Minden lekérdezési időköz után az Azure Pipelines megpróbál kapcsolatba lépni a Bitbucket-kiszolgálóval, hogy ellenőrizze, történt-e frissítés a kódban. Ha az Azure Pipelines nem tudja elérni a Bitbucket-kiszolgálót (valószínűleg hálózati probléma miatt), akkor mégis elindítunk egy új futtatási műveletet, feltételezve, hogy kódmódosítások történtek. Ha az Azure Pipelines nem tudja lekérni egy YAML-folyamat kódját, információs futtatás jön létre.

Sikertelen kivétel

Amikor manuálisan próbálok elindítani egy új futtatást, 4-8 perc késés van, mielőtt elindulna.

  • A Bitbucket-kiszolgáló nem érhető el az Azure Pipelinesból. Győződjön meg arról, hogy nem választotta ki a Git-kiszolgáló elérésének lehetőségét az Azure Pipelinesból a Bitbucket szolgáltatáskapcsolatban. Ha ezt a lehetőséget választja, az Azure Pipelines megpróbál kapcsolatba lépni a kiszolgálóval, és mivel a kiszolgáló nem érhető el, az időkorlát túllépi az időkorlátot, és mindenképpen elindítja a futtatást. Ha törli a jelölőnégyzet jelölését, azzal felgyorsítja a manuális futtatásokat.

A kivételi lépés meghiúsul azzal a hibával, hogy a kiszolgáló nem oldható fel.

Microsoft által üzemeltetett ügynököket használ? Ha igen, előfordulhat, hogy ezek az ügynökök nem tudják elérni a Bitbucket-kiszolgálót. További információt a Microsoft által üzemeltetett ügynökök nem érhetnek el.