how publish pact contract pact broker
Bu eğitim, Pact Broker'ı kurmak için iki seçeneği açıklar. Pact-js çerçevesini kullanarak ve Postman ile Pact Sözleşmesini Pact Broker'da yayınlayabilirsiniz:
anime izlemek için iyi web siteleri nelerdir
Pact Broker nedir?
Pact Broker, Pact çerçevesinin yaratıcıları tarafından sağlanan bir araçtır. Sözleşmelerin saklanmasını, tüketicilerin görselleştirilmesini ve sözleşme durumunun doğrulanmasını kolaylaştırır.
Sözleşmeleri depolamak için ayrı bir komisyoncuya sahip olmanın nedeni, her test setinin genellikle farklı havuzlarda ve hatta farklı dillerde yazılmasıdır.
=> Basit Sözleşme Testi Eğitim Serisini Buradan Keşfedin
Ne öğreneceksin:
Pact Broker ile Anlaşma Sözleşmesini Yayınlayın
Bir sözleşmenin nasıl yayınlanacağına geçmeden önce, Pact Broker'ı kendiniz barındırmak isteyip istemediğinize veya aşağıdaki gibi barındırılan bir hizmeti kullanıp kullanmayacağınıza karar vermeniz gerekir. Pactflow .
Kişisel olarak, aşağıdaki tabloda gösterildiği gibi ek faydalar sağladığı için Pactflow'u seçtik:
Özellik | Pactflow | Kendi Kendine Barındırılan |
---|---|---|
SSO (Github) | Evet | Yapma |
Sunucu bakımı | Yapma | Evet |
Güvenli Belirteçler / Sırlar | Evet | Yapma |
Web kancaları | UI yapılandırılabilir | Manuel yapılandırma |
Kod Olarak Altyapı | Terraform | Dockerfile |
Pactflow ile Pact Broker'ı Kurmak
Pactflow yalnızca 180 aylık deneme süresinden sonra (Mayıs 2020 itibarıyla), yani 10 buçuk yıl sonra ücretlendirilecek ücretsiz bir seçenek sunar.
- E-posta adresinizi Pactflow'a kaydedin (daha sonra her zaman ek kullanıcı ekleyebileceğinizi unutmayın).
- Pact Broker'ınız için şirket bilgilerini ve alt alan adını ayarlayın.
- Şimdi geçici kullanıcı adınız ve şifrenizle bir e-posta almalısınız.
- Alt etki alanınıza gidin (işte benim alt alan adı ) ve oturum açın. Bu başarılı olduysa, önceden kurulmuş bir sözleşmeye sahip örnek uygulamayı görmelisiniz.
Eğiticinin ilerleyen bölümlerinde Pactflow'daki sözleşmelerin nasıl doğrulanacağına bakacağız.
Docker ile Pact Broker'ı Kurma (docker-compose)
Pact, docker-compose ile kendi Pact Broker'ınızı saniyeler içinde kolayca başlatmak için docker görüntüleri sunar. github deposu bunun nasıl yapılabileceğini açıklar, daha sonra ayrıntılara girelim.
Hizmetin kararlı olmasını sağlamak için eklenen bazı ek adımlar aşağıda verilmiştir:
- 'Yeniden başlat: her zaman' öğesini ekleyin docker-compose Hizmetler.
- Arka planda çalışmasına izin vermek için `-d` detached argümanını kullanarak sunucuda docker-compose'u başlatın.
Pact-js ile Yayın Sözleşmesi
Her Pact dili uygulamasının, sözleşmelerin komisyoncuya nasıl yayınlanacağına ilişkin kendi yöntemleri vardır. Pact Broker'da JavaScript'te yayınlarken, yapılandırma buna benzer görünmelidir.
Yukarıda gösterilen Pact Broker Token, ayarlar altında Pactflow'da saklanır. Ekran görüntüleri aşağıda gösterilmiştir. Okuma ve Yazma izinlerine sahip CI belirtecini kullandığınızdan emin olun.
Git Ayarlar ve ardından Pactflow'daki API Jetonları.
Muhtemelen sırlar ve şifreler git'te saklanmamalıdır, bu nedenle bir '.env' dosyası aşağıda gösterildiği gibi kod içinde kullanılmalı ve referans gösterilmelidir.
İle birlikte 'PublishVerificationResult' değer, yerel ortamınızda sözleşmeleri doğrulamak istemezsiniz. Bu nedenle, aşağıda gösterildiği gibi başka bir ortam değişkeni ayarlanmalıdır.
Artık sözleşme doğrudan kodda yayınlanabilir.
Postacı ile Yayın Sözleşmesi
Genellikle, ilk sözleşmeyi doğrulamak için, aracının doğru şekilde kurulduğundan emin olmak için Postman'ı kullanırız. Postacı Ayrıca, tüketiciler kendi ekiplerinde Pact'i benimsemekte yavaşlarken de kullanıldı, bu nedenle sözleşmeyi Pact Broker'a yayınladık ve tüketici ekibinden sözleşmeden memnun olup olmadıklarını doğrulamalarını istedik.
Bu, sağlayıcı ekibi olarak sözleşmeye karşı doğrulama yapmamızı ve dağıtımlarımıza daha fazla güvenmemizi sağladı. Ayrıca tüketici ekibi Pact'i benimsemeye hazır olduğunda, kullanacakları bir çalışma örneği zaten vardı.
Postacı yayınlama adımları aşağıda verilmiştir:
# 1) PUT: İsteği oluşturun
- Şuraya gidin: alt alan adı
- Sağlayıcı adı
- Tüketici adı
- Sürüm
# 2) Yetkilendirme: Taşıyıcı jetonunu ekleyin (yukarıda belirtildiği gibi API jetonuna eşdeğerdir)
# 3) Gövde olarak Pact JSON'u dahil edin (JSON doğrudan gövde alanına kopyalanabilir, böylece Content: Type başlığının 'application / json' olarak ayarlandığından emin olun).
API Sağlayıcılarla Anlaşmaları Paylaşma
Sözleşmeleriniz yayınlandıktan sonra, sağlayıcı Pact Broker URL'sini aşağıdakilerle talep ederek Pact sözleşmesini alabilir:
Genellikle, API'nin belirli bir sürümüyle doğrulamak istersiniz. Örneğin, bir mikro hizmet mimarisinde, tüketici ekibi API'den ihtiyaç duydukları bilgilerde sürekli olarak değişiklikler yapmaktadır.
Bunun yanı sıra, API sağlayıcısı aynı anda değişiklikler yapıyor ve sorunsuz bir dağıtım sağlayacağından, şu anda üretime dağıtılmış olan sürüme göre doğrulama yapmaları gerekecek.
Sonuç
Son olarak, yayınlanmış bir sözleşmeye sahip bir Pact Broker'ınız var, sonraki öğreticide bir .Net Core API'sini sararak, en son sözleşmeyi çekerek ve yerel API'ye göre doğrulayarak sağlayıcı testinizi nasıl yazacağınıza bakacağız.
Pact çerçevesi, yalnızca projenizin başlangıcında, tüketici odaklı bir şekilde değerli olmakla kalmaz, aynı zamanda tüketicilerinizi Pact Broker ile görselleştirmenin yararı, bu aracı kullanmada kesinlikle önemli bir katkıdır.
Ayrıca, tüketici etkileşimlerini ve API'nin gerçekte nasıl kullanıldığını daha iyi anlama yeteneği genellikle çeviride kaybolabilir ve ortaya çıkabilecek bir üretim sorununa neden olabilir. Bu, uygulama günlüklerinde saatlerce hata ayıklama ve tarama yapılmasına neden olur.
Bu eğitimde, Pact Broker'ınızı kurmak için iki farklı seçenek öğrendik. Sözleşmenizi pact-js çerçevesini kullanarak ve ayrıca Postman ile yayınladınız.
Bu noktada, sürümlerinizi mikro hizmetler arasında hizalamayı ve ayrıca, okunması kolay ve anlaşılır bir Pact Broker ağı oluşturmak için sağlayıcılarınızı tutarlı bir şekilde adlandırmayı düşünmeniz gerekir.
=> Sıfırdan Sözleşme Testini Öğrenmek İçin Burayı Ziyaret Edin
Önerilen Kaynaklar
- JavaScript'te Tüketici Paktı Testi Nasıl Yazılır
- Örneklerle Sözleşme Testine Giriş
- Pact CLI ile Pact Sözleşmesini ve Sürekli Dağıtımı Doğrulayın
- Docker Eğitimi: Kurulum ve Docker'a Giriş
- Postacıda Karmaşık Test İş Akışları İçin Gelişmiş Komut Dosyası
- Postacıda API Belgeleri Nasıl Oluşturulur?
- Postman, Farklı API Formatlarını Test Etmek İçin Nasıl Kullanılır?
- Cevaplarla En Popüler 10 Postacı Röportaj Sorusu