Şirket içi Bitbucket depoları oluşturma

Azure DevOps Services

Dekont

Bitbucket Cloud'ı Azure Pipelines ile tümleştirmek için bkz . Bitbucket Cloud.

Şirket içi Bitbucket sunucunuzu veya başka bir Git sunucunuzu Azure Pipelines ile tümleştirebilirsiniz. Şirket içi sunucunuz İnternet'e açık olabilir veya açık olmayabilir.

Şirket içi sunucunuza Azure Pipelines hizmetini çalıştıran sunuculardan ulaşılıyorsa:

  • klasik derleme ayarlayabilir ve CI tetikleyicilerini yapılandırabilirsiniz

Şirket içi sunucunuza Azure Pipelines hizmetini çalıştıran sunuculardan ulaşılamıyorsa:

  • klasik derleme işlem hatlarını ayarlayabilir ve el ile derlemeler başlatabilirsiniz
  • CI tetikleyicilerini yapılandıramazsınız

Dekont

YAML işlem hatları şirket içi Bitbucket depolarıyla çalışmaz.

Dekont

Çekme isteği tetikleyicileri şirket içi Bitbucket depolarında kullanılamaz.

Şirket içi sunucunuza barındırılan aracılardan ulaşılabilirse, barındırılan aracıları kullanarak el ile, zamanlanmış veya CI derlemelerini çalıştırabilirsiniz. Aksi takdirde, şirket içi sunucunuza erişebilecek ve kodu getirebilecek şirket içinde barındırılan aracılar ayarlamanız gerekir.

Azure Pipelines'dan ulaşılabilir

Şirket içi Bitbucket sunucunuza Azure Pipelines hizmetinden erişilebilir durumdaysa, Bir Diğer Git hizmeti bağlantısı oluşturun ve bunu kullanarak işlem hattı oluşturun. Bu Git sunucusuna Azure Pipelines'dan erişmeyi dene seçeneğini işaretleyin.

CI tetikleyicileri web kancaları aracılığıyla değil yoklama yoluyla çalışır. Başka bir deyişle Azure Pipelines, kodda güncelleştirme olup olmadığını düzenli aralıklarla Bitbucket sunucusunu denetler. Varsa Azure Pipelines yeni bir çalıştırma başlatır.

Azure Pipelines'dan ulaşılamıyor

Bitbucket sunucusuna Azure Pipelines'dan ulaşılamıyorsa iki seçeneğiniz vardır:

  • Azure Pipelines ile şirket içi Git sunucusu arasında bir ağ yolu açmak için BT bölümünüzle birlikte çalışın. Örneğin, Azure Pipelines'dan gelen trafiğin akmasına izin vermek için güvenlik duvarı kurallarınıza özel durumlar ekleyebilirsiniz. İzin vermeniz gereken IP adreslerini görmek için Azure DevOps IP'leri bölümüne bakın. Ayrıca, Azure Pipelines'ın sunucunuzun FQDN'sini bir IP adresine çözümleyebilmesi için Bitbucket sunucusu için bir genel DNS girdiniz olmalıdır.

  • Diğer Git bağlantısını kullanabilirsiniz ancak Azure Pipelines'a Bu Git sunucusuna Azure Pipelines'dan erişmeyi denememelerini söyleyebilirsiniz. CI ve PR tetikleyicileri Diğer Git depolarında kullanılamaz. Yalnızca el ile veya zamanlanmış işlem hattı çalıştırmalarını başlatabilirsiniz.

Microsoft tarafından barındırılan aracılardan ulaşılabilir

Yapmanız gereken bir diğer karar da işlem hatlarınızı çalıştırmak için Microsoft tarafından barındırılan aracıları mı yoksa şirket içinde barındırılan aracıları mı kullanacağınızdır. Bu seçim genellikle Microsoft tarafından barındırılan aracıların sunucunuza ulaşıp ulaşamayacağına bağlıdır. Kullanabileceklerini denetlemek için Microsoft tarafından barındırılan aracıları kullanacak bir işlem hattı oluşturun ve sunucunuzdan kaynak kodu kullanıma almak için bir adım eklediğinizden emin olun. Bu başarılı olursa Microsoft tarafından barındırılan aracıları kullanmaya devam edebilirsiniz.

Microsoft tarafından barındırılan aracılardan erişilemiyor

Yukarıdaki bölümde belirtilen basit test işlem hattı hatasıyla 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 attemptingbaşarısız olursa, Bitbucket sunucusuna Microsoft tarafından barındırılan aracılardan erişilemez. Bunun nedeni büyük olasılıkla bu sunuculardan gelen trafiği engelleyen bir güvenlik duvarıdır. Bu durumda iki seçeneğiniz vardır:

  • Microsoft tarafından barındırılan aracılarla Bitbucket sunucusu arasında bir ağ yolu açmak için BT bölümünüzle birlikte çalışın. Microsoft tarafından barındırılan aracılarda ağ oluşturma bölümüne bakın.

  • Şirket içinde barındırılan aracıları veya ölçek kümesi aracılarını kullanmaya geçin. Bu aracılar ağınız içinde ayarlanabilir ve bu nedenle Bitbucket sunucusuna erişebilir. Bu aracılar yalnızca Azure Pipelines'a giden bağlantılar gerektirir. Gelen bağlantılar için güvenlik duvarı açmaya gerek yoktur. Hizmet bağlantısını oluştururken belirttiğiniz sunucunun adının şirket içinde barındırılan aracılardan çözümlenebilir olduğundan emin olun.

Azure DevOps IP adresleri

Klasik bir işlem hattı ayarlamak, Azure Pipelines hizmeti ile Bitbucket sunucusu arasındaki iletişimi devre dışı bırakmak ve kod oluşturmak için şirket içinde barındırılan aracıları kullanmak için Diğer Git bağlantısını kullandığınızda, düzeyi düşürülmüş bir deneyim elde edersiniz:

  • İşlem hattı oluşturma sırasında deponun adını el ile yazmanız gerekir
  • Azure Pipelines kodda yapılan değişiklikleri yoklamayacağından CI tetikleyicilerini kullanamazsınız
  • Zamanlanmış tetikleyicileri yalnızca değişiklikler olduğunda oluşturma seçeneğiyle kullanamazsınız
  • Kullanıcı arabiriminde en son işleme hakkındaki bilgileri görüntüleyemezsiniz

Bu deneyimi geliştirmek istiyorsanız, Azure Pipelines'tan Bitbucket Server'a iletişimi etkinleştirmeniz önemlidir.

Azure DevOps'tan gelen trafiğin Bitbucket Sunucunuza ulaşmasına izin vermek için, Gelen bağlantılarda belirtilen IP adreslerini veya hizmet etiketlerini güvenlik duvarınızın izin verilenler listesine ekleyin. ExpressRoute kullanıyorsanız, güvenlik duvarınızın izin verilenler listesine ExpressRoute IP aralıklarını da eklediğinizden emin olun.

Azure Pipelines'ın Diğer Git hizmeti bağlantısında Git sunucusuna erişmeyi denemesine izin verin.

Bilgilendirme çalıştırmaları

Bilgilendirme amaçlı çalıştırma, Azure DevOps'un bir YAML işlem hattının kaynak kodunu alamadığını bildirir. Kaynak kodu alma işlemi, gönderilen işleme gibi dış olaylara yanıt olarak gerçekleşir. Kod değişiklikleri olup olmadığını denetlemek ve zamanlanmış çalıştırma başlatıp başlatmamak gibi iç tetikleyicilere yanıt olarak da gerçekleşir. Kaynak kodu alma işlemi, git deposu sağlayıcısı tarafından sık sık azaltma isteğinde bulunulması nedeniyle birden çok nedenden dolayı başarısız olabilir. Bilgi amaçlı çalıştırmanın varlığı, Azure DevOps'un işlem hattını çalıştıracağını göstermez.

Bilgilendirme çalıştırması aşağıdaki ekran görüntüsünde olduğu gibi görünür.

Screenshot of an informational pipeline run.

Aşağıdaki özniteliklerle bir bilgilendirme çalıştırmasını tanıyabilirsiniz:

  • Durum şudur: Canceled
  • Süre: < 1s
  • Çalıştırma adı aşağıdaki metinlerden birini içerir:
    • 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.
  • Çalıştırma adı genellikle YAML işlem hattı yükünün başarısız olmasına neden olan BitBucket / GitHub hatasını içerir
  • Aşama / iş / adım yok

Bilgilendirme çalıştırmaları hakkında daha fazla bilgi edinin.

Sınırlamalar

Azure Pipelines, bir depodan en fazla 2000 dalı Azure Devops Portalı'ndaki açılan listelere yükler. Örneğin, el ile ve zamanlanmış derlemeler için Varsayılan dal ayarına veya işlem hattını el ile çalıştırırken dal seçerken. listede istediğiniz dalı görmüyorsanız, istediğiniz dal adını el ile yazın.

SSS

Bitbucket Server tümleştirmesi ile ilgili sorunlar aşağıdaki kategorilere ayrılır:

  • Başarısız tetikleyiciler: Depoya güncelleştirme gönderdiğimde işlem hattım tetiklenmiyor.
  • Kullanıma alma başarısız oluyor: İşlem hattım tetikleniyor, ancak kullanıma alma adımında başarısız oluyor.

Başarısız tetikleyiciler

Sunucuma bir değişiklik yaptım, ancak işlem hattı tetiklenmiyor.

Başarısız tetikleyicilerinizin sorunlarını gidermek için aşağıdaki adımların her birini izleyin:

  • Bitbucket sunucunuza Azure Pipelines'dan erişilebilir mi? Azure Pipelines, bitbucket sunucusunu düzenli aralıklarla değişiklikler için yoklar. Bitbucket sunucusu bir güvenlik duvarının arkasındaysa, bu trafik sunucunuza ulaşmayabilir. Daha fazla bilgi için bkz . Azure DevOps IP Adresleri ve tüm gerekli IP adreslerine özel durumlar atadığınızdan emin olun. İlk olarak özel durum kurallarını ayarladığınızdan bu IP adresleri değişmiş olabilir. El ile çalıştırmaları yalnızca dış Git bağlantısı kullandıysanız ve sunucunuza Azure Pipelines'dan erişilemiyorsa başlatabilirsiniz.

  • İşlem hattınız duraklatıldı mı yoksa devre dışı mı bırakıldı? İşlem hattının düzenleyicisini açın ve denetlemek için Ayarlar seçin. İşlem hattınız duraklatılmış veya devre dışı bırakılmışsa tetikleyiciler çalışmaz.

  • Değişikliklerinizi iletmiş olduğunuz dalları veya yolları dışladiniz mi? Eklenen bir daldaki dahil edilen yola bir değişiklik göndererek test edin. Tetikleyicilerdeki yolların büyük/küçük harfe duyarlı olduğunu unutmayın. Tetikleyicilerdeki yolları belirtirken gerçek klasörlerinkilerle aynı büyük/küçük harf kullandığınızdan emin olun.

Koduma güncelleştirme göndermedim, ancak işlem hattı hala tetikleniyor.

  • Bitbucket için sürekli tümleştirme tetikleyicisi yoklama yoluyla çalışır. Her yoklama aralığından sonra Azure Pipelines, kodda herhangi bir güncelleştirme olup olmadığını denetlemek için Bitbucket sunucusuyla iletişim kurmaya çalışır. Azure Pipelines Bitbucket sunucusuna ulaşamıyorsa (büyük olasılıkla bir ağ sorunu nedeniyle), kod değişiklikleri olabileceğini varsayarak yine de yeni bir çalıştırma başlatırız. Azure Pipelines bir YAML işlem hattının kodunu alamıyorsa, bilgi amaçlı bir çalıştırma oluşturur.

Teslim alma başarısız oluyor

Yeni bir çalıştırmayı el ile başlatmayı denediğimde, başlamadan önce 4-8 dakika gecikme oluyor.

  • Bitbucket sunucunuza Azure Pipelines'dan ulaşılamıyor. Bitbucket hizmet bağlantısındaki Azure Pipelines'tan bu Git sunucusuna erişmeyi deneme seçeneğini belirtmediğinizden emin olun. Bu seçenek belirlenirse, Azure Pipelines sunucunuzla iletişim kurmaya çalışır ve sunucunuza ulaşılabildiğinden zaman aşımına uğracak ve çalıştırmayı yine de başlatacaktır. Bu seçeneğin işaretini kaldırmak, el ile çalıştırmalarınızı hızlandırır.

Kullanıma alma adımı sunucunun çözümlenememesi hatasıyla başarısız olur.

Microsoft tarafından barındırılan aracıları kullanıyor musunuz? Bu durumda, bu aracılar Bitbucket sunucunuza ulaşamayabilir. Daha fazla bilgi için bkz . Microsoft tarafından barındırılan aracılardan erişilemiyor.