Kiedy 140 minut na VSTS to za mało

Kiedy 140 minut na VSTS to za mało

Kiedy chcemy zautomatyzować wytwarzanie oprogramowania przy pomocy takich narzędzi jak VSTS(Azure Dev-Ops) używamy CI/CD. VSTS jest ciekawym narzędziem, które pozwala nam stworzyć automatyczny build oraz deploy, całkowicie za darmo. Oczywiście wersje darmowe przeważnie mają limity i tym wypadku jest tak samo. W ciągu miesiąca darmowa wersja udostępnia nam 140 minut użycia maszyny wirtualnej.

Więcej czasu na VSTS

infografika VSTS

Microsoft daje nam kilka możliwości aby “przedłużyć” te 140 minut. Pierwszy sposób to podpięcie karty kredytowej ;). Nie ukrywam jest to chyba najmniej korzystna oferta ze wszystkich dostępnych możliwości. Kolejnym sposób to wykorzystanie własnej maszyny lub maszyny wirtualnej do odpalania wszystkich akcji, które dzieją się na VSTS.

Drugie rozwiązanie pozwala zmniejszyć koszty do 0 jeżeli podłączymy nasz prywatny komputer razem z VSTS. Decyzja ta wiążę się z tym, że udostępniamy pamięć naszego komputera dla VSTS. Jeżeli liczba build-ów nie jest wielka i pracujemy sami nad projektem, to jest to korzystny wybór. Musimy tylko pamiętać, że nasz komputer musi być włączony, jeżeli chcemy używać go jako maszynę do budowania aplikacji.

VSTS dla zespołów

Kiedy pracujemy już w małym zespole zdecydowanie polecam postawić maszynę wirtualną na które będziemy wykonywać wszystkie operacje. Korki, które pokarzę, wszędzie zadziałają tak samo, zatem obojętnie co wybierzecie – powinno zadziałać 🙂 W moim przypadku stworzyłem wirtualną maszynę którą postawiłem na Azure.

Aby stworzyć build pipelines musimy mieć stworzony projekt na VSTS. Pierwszym krokiem jest stworzenie klucza do naszego konta na VSTS. Aby to zrobić musimy kliknąć nasz profil(górny prawy róg) > wybrać “Security” > Wygenerować nowy token.

ekran VSTS Personal Acces Tokens

Kiedy to zrobimy musimy nadać odpowiednie uprawnienia. Najłatwiej dać wszystkie 🙂

ekran tworzenia nowego personal acces token

Kiedy token został wygenerowany, pamiętajmy go zapisać. Później nie będzie możliwości sprawdzenia go ponownie.

Tworzenie agenta

Kolejnym krokiem będzie stworzenie agenta, który zostanie zainstalowany na naszym komputerze. Aby to zrobić musimy wejść w kartę Project Settings > Piplines > AgnetPools > Download Agnet.

ekran tworzenie agenta

Jak można zauważyć, dostajemy już gotowca, którego wystarczy tylko użyć. Agent może działać również na Windowsie, MacOS oraz Linuxie. Ja wybrałem Windows. Pobierzmy zatem agenta.

Kolejnym krokiem będzie skopiowanie komend, które wykonamy w PowerShellu. W komendzie podajemy ścieżkę lokalizacji pobranego agenta. Domyślnie jest to $HOME\Downloads\vsts-agent-win-x86-2.141.1.zip lecz nie stoi na przeszkodzie, aby ją zmienić.

Kiedy jesteśmy pewni ścieżki możemy kopiować komendy i zainstalować agenta:

  • cd c://
  • mkdir agent ; cd agent
  • Add-Type -AssemblyName System.IO.Compression.FileSystem ; [System.IO.Compression.ZipFile]::ExtractToDirectory("$HOME\Downloads\vsts-agent-win-x86-2.141.1.zip", "$PWD")

PowerShell zainstaluje potrzebne składniki możemy zacząć konfigurować naszego agenta komendą .\config.cmd

1. Adresem url naszego serwera to nazwa vsts

adres linku

2. Authentication type – Zostawić domyślny “kliknij enter”

3. Personal Access Token – wklej wygenerowany token w vsts (pierwsze kroki tego poradnika)

4. Agent pool – Domyślny default. Możemy wymyślić własny 🙂

ekran all agent pools

5. Agent name – Nazwa waszego agenta która będzie widoczna podczas builda aplikacji.

6. Work folder – klikamy enter (folder w którym będą pliki które budujemy)

7. Run agent as service – Wpisujemy “Y” i klikamy enter. Dzięki temu agent będzie gotowy do użycia.

8. User account to use for service – zostawiamy domyślne

Całość wygląda tak.

ekran z kodem

Nasz agent jest gotowy 🙂 Wejdźmy teraz do pool Project Settings > Piplines > AgnetPools ? Default. Jak możecie zauważyć nasz komputer jest widoczny i ma status online (Jeżeli status jest offline wpisz komendę .\run.cmd).

ekran agents for pool default

Teraz podczas budowania definicji wystarczy wybrać, aby naszym agentem był “Default agent” i cały build będzie przechodził na naszym komputerze. Należy pamiętać, że agent korzysta z zainstalowanych rzeczy na naszym komputerze. Jeżeli chcemy zbudować aplikację .net, musimy mieć zainstalowanego MS build, jeżeli chcemy zbudować Angulara, potrzebujemy node.js itp. Tworząc tego agenta omijamy limity nadane przez VSTS i możemy budować aplikację do woli 🙂



Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.