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


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

Azure DevOps Services

Megjegyzés

A Bitbucket Cloud és az Azure Pipelines integrálásához tekintse meg Bitbucket Cloudcímű témakört.

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 Egyéb Git- szolgáltatáskapcsolatot, és ezzel hozzon létre egy folyamatot. Ellenőrizze a Git-kiszolgáló Azure Pipelines-elérésének lehetőségét.

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 Egyéb Git- kapcsolatot, de azt is jelezheti az Azure Pipelinesnak, hogy ne megkísérelje elérni ezt a Git-kiszolgálót az Azure Pipelines. A CI- és PR-triggerek nem érhetők el Egyéb 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 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 attemptinghibával meghiú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ési című szakaszt.

  • Váltás saját üzemeltetésű ügynökök vagy méretezési csoport ü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 Egyéb Git- kapcsolatot használ egy klasszikus folyamat beállításához, 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öket használ a kód létrehozásához, csökkentett szintű é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. Ha ExpressRoute-ot használ, ügyeljen arra, hogy ExpressRoute IP-tartományait is a tűzfal engedélyezési listájára.

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

Információs bemutatók

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.

Képernyőkép egy információs folyamat futtatásáról.

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ó 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 az Alapértelmezett ágba manuális és ütemezett buildek beállításához, vagy amikor manuálisan futtat 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ó: Azure DevOps IP-címek, é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 Beállítások lehetőséget 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, létrehoz egy információs futtatási.

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 azt a lehetőséget, hogy megkísérelje elérni ezt a Git-kiszolgálót az Azure Pipelines 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 érhető el.