JustCloud.pl Blog - Azure, DevOps & Cloud Engineering

Przejdź do głównej zawartości

Wysłanie żądania API z PowerShell do Azure DevOps

· 3 min aby przeczytać
Piotr Rogala
MVP Azure & owner JustCloud.pl

Często stajemy przed wyzwaniem zintegrowania ze sobą wielu narzędzi. Jeżeli stosujemy PowerShell w celu automatyzacji swojej infrastruktury bądź budowy prostych skryptów, może nam się przydać zastosowanie wywołania żądania API za pomocą PowerShell.

Poniższy przykład zaprezentuje użycie wysłania żądania za pomocą API do Azure DevOps w celu dodania puli agentowej.

Referencje API do Azure DevOps są dostępne tutaj:

IaC control via PowerShell module for ARM templates

· 3 min aby przeczytać
Piotr Rogala
MVP Azure & owner JustCloud.pl

Debug natywnych szablonów ARM jest ciężkim procesem dla wielu osób. Utrzymanie infrastruktury jako kod również nie jest prostą sprawą, dlatego często używa się Terraform-a dla wdrożeń w Microsoft Azure.

Szablony ARM nie posiadają pliku stanu, jak to jest w Terraform, dlatego często spotykam się z opinią, że ARM-y są beznadziejne. Po wdrożeniu trudno jest utrzymać stały rozwój infrastruktury z tego samego szablonu oraz często problemem jest przewidywalność, co się stanie z obiektami, które już masz. Nie będę się rozwodził, co lepsze, co gorsze, ponieważ wiele zależy od naszej wiedzy, podejścia, problemu lub zlecenia, które wykonujemy. Jako inżynier nie przywiązuję się do rozwiązań i uważam, że do każdego problemu należy podchodzić indywidualnie. Moim zdaniem najlepsze rozwiązania to rozwiązania natywne, nie wymagające tworzenia koła na nowo. Stąd zachęcam do pisania szablonów ARM dla Azure.

Jako pomoc w tworzeniu infrastruktury jako kod (IaC) w Microsoft Azure polecam zapoznać się z modułem PowerShell: ARMHelper

https://www.powershellgallery.com/packages/ARMHelper/0.6.2

Za pomocą komendy Test-ARMExistingResource możemy zbudować polecenie, które sprawdzi nam wskazany szablon w kontekście deployowanych zasobów w Azure i wyświetli, co się stanie. Przykład poniżej przedstawia stworzoną resource group bez zasobów:

Użyłem szablonu z mojego repo: https://github.com/RogalaPiotr/JustCloudPublic/tree/master/simple-vm-shutdown-on-time
Wykonuję kolejno komendy:

Skąd uczyć się o Microsoft Azure?

· 3 min aby przeczytać
Piotr Rogala
MVP Azure & owner JustCloud.pl

Po ostatniej prezentacji przyszła mi do głowy myśl, by utworzyć miejsce, skąd można uczyć się chmury Microsoft Azure. Postanowiłem więc zebrać interesujące linki w jednym miejscu — znajdziecie tu rekomendacje moje oraz innych ekspertów.

Większość poniższych linków jest darmowa i takie właśnie będę starał się udostępniać. Jeśli chciałbyś dodać ciekawe miejsce, które polecasz, dodaj je w komentarzu — pomoże to w udoskonaleniu listy.

Jeśli wiesz, czego konkretnie szukasz, możesz użyć wyszukiwarki, aby skoncentrować się na danym problemie:

Auto deployment VM with VSTS agent for pool

· 7 min aby przeczytać
Piotr Rogala
MVP Azure & owner JustCloud.pl

Wszyscy, którzy robią deploymenty z VSTS, spotykają się z sytuacją, kiedy standardowe 240 min się kończy i trzeba stworzyć sobie taką maszynę. Sam robiłem taką maszynę parę razy i kiedy znów pojawiła się ta konieczność, postanowiłem stworzyć automatyczny deployment, który nam stworzy z JSON-a całą maszynkę i podepnie ją do Agent pool w VSTS.

Miałem parę pomysłów, aby zrobić bardzo uniwersalny template, który nie tylko przyda się wam, ale również mi w przyszłości do budowania innych szablonów. Także w skrócie opiszę ciekawostki, które zastosowałem w szablonie, który znajdziecie na moim GitHubie.

GitHub https://github.com/RogalaPiotr/JustCloudPublic/tree/master/simple-vm-with-installation-vsts-agent

Założenie dotyczące szablonu: chciałbym dodać informację, gdzie ważnym jest zwrócenie uwagi, że maszyna ma być odizolowana od naszej sieci wewnętrznej. Dlatego szablon jest infrastrukturą stand alone, aby było bezpiecznie i w razie czego można ją usunąć lub powołać więcej agentów do deploymentów.