Jak stworzyć Jenkinsfile

Jak stworzyć Jenkinsfile
Jenkinsfile odnosi się do pliku tekstowego ASCII, który zawiera definicje rurociągu Jenkins. Jenkinsfile używa składni deklaratywnej lub groovy script format. Jenkinsfile zawiera serię etapów i kroków tworzących rurociąg Jenkins.

Każdy krok w rurociągu jest wykonywany w określonej kolejności, a kolejne kroki mogą wykorzystywać wyniki jednego kroku. Używamy głównie kroków zdefiniowanych w rurociągu Jenkins do wykonywania automatycznych zadań, takich jak budowanie aplikacji, testowanie i wdrażanie.

Domyślnie Jenkinsfile jest zawarty w katalogu głównym projektu. Możesz jednak przechowywać go w unikalnej bibliotece Jenkinsfile w Jenkins. To pozwala Jenkins śledzić plik Jenkins i monitorować wszelkie modyfikacje dokonane w rurociągu. W przypadku zmian w JenkinsFile lub kodzie źródłowym w repozytorium, Jenkins automatycznie wykrywa zmiany, zbuduj projekt i uruchamia wszelkie testy zdefiniowane w Jenkinsfile.

Ten samouczek obejmuje podstawy tworzenia i pisania podstawowego Jenkinsfile za pomocą deklaratywnej składni.

Anatomia podstawowego plik jenkins

Poniższy przykład pokazuje podstawowy Jenkinsfile. Używamy tego, aby pokazać, jak konfigurowany jest JenkinsFile i jak go używać:

rurociąg
agent dowolny
Etapy
scena („hello”)
kroki
Echo „Hello World”



Jenkinsfile składa się z dostarczonych elementów składowych. Rozbijmy to, co pociąga za sobą każdy blok.

  1. Rurociąg - blok rurociągu mówi Jenkinsowi, że każde polecenie zdefiniowane w tym bloku jest traktowane jako część konfiguracji rurociągu i kroków. To jest blok najwyższego poziomu w Jenkinsfile. Możesz zdefiniować inne elementy powyżej bloku rurociągu, takie jak zmienne.
  2. Agent - agent to węzeł agenta Jenkins, który służy do wykonywania kroków w rurociągu Jenkins. Agent może być maszyną fizyczną, maszyną wirtualną lub pojemnikiem.
  3. Etap - blok sceny odnosi się do grupy kroków w rurociągu Jenkins. Etapy służą do grupowania powiązanych kroków i kontrolowania kolejności, w jakiej są wykonywane.
  4. Krok - Następna część to blok krokowy. Służy do zdefiniowania jednego zadania w rurociągu Jenkins. Każdy krok w Jenkinsfile jest wykonywany w kolejności, w jakiej są zdefiniowane.

W poprzednim przykładzie rurociągu definiujemy pojedynczy etap o nazwie Hello. Definiujemy prosty krok na scenie, który drukuje ciąg „Hello World” do konsoli.

Prowadzenie Jenkinsfile

Aby uruchomić Jenkinsfile, wykonaj kroki, które pokazano następująco:

  1. Zainstaluj Jenkins na swoim komputerze lub uzyskaj instancję Jenkins od dostawcy chmury. Możesz sprawdzić nasz samouczek, jak zainstalować Jenkins w systemie Windows lub Linux, aby dowiedzieć się więcej.
  2. Utwórz nowy projekt rurociągu Jenkins, klikając link „Nowy element” w pulpicie nawigacyjnym i wybierając opcję „Rurociąg”.
  3. W sekcji „Rurociąg” wybierz „skrypt rurociągu”.
  4. Wklej zawartość Jenkinsfile, które są podane w poprzednim przykładzie.
  5. Zapisz projekt, klikając przycisk „Zapisz”.
  6. Kliknij przycisk „Build Now”, aby uruchomić JenkinsFile.

Możesz wyświetlić wyjście JenkinsFile, klikając numer kompilacji w sekcji „Historia kompilacji” na pulpicie nawigacyjnym.

Udaj się do sekcji „Wyjście konsoli”, aby wyświetlić wiadomość z polecenia Echo.

Dobrze jest pamiętać, że możesz zdefiniować znacznie więcej w Jenkinsfile. Niektóre typowe bloki, które możesz napotkać, obejmują:

  1. Środowisko - blok środowiska służy do ustawiania zmiennych środowisk.
  2. Post - możemy użyć bloku postu, aby określić kroki, które należy wykonać po zakończeniu głównych kroków rurociągu.
  3. Try/Catch - Kolejnym standardowym blokiem jest blok próba/catch. Służy do obsługi wyjątków, które mogą wystąpić podczas wykonywania rurociągu Jenkins. Możesz zbadać nasz samouczek na ten temat, aby dowiedzieć się więcej.
  4. Równolegle - blok równoległy pozwala nam zdefiniować serię kroków wykonywanych równolegle.
  5. Wejście - znajdziesz także blok wejściowy w większości Jenkinsfile. Ten blok służy do zatrzymania rurociągu Jenkins i poprosić o dane wejściowe od użytkownika.
  6. ZNACZENIE - Wreszcie, kolejnym standardowym blokiem w Jenkinsfile jest blok czasu znaczników czasu. Służy to do dodania znaczników czasu do wyjścia rurociągu Jenkins.

Możesz zbadać dokumentację dotyczącą deklaratywnej składni Jenkins, aby dowiedzieć się więcej o różnych blokach, których możesz użyć.

Wniosek

Omówiliśmy, w jaki sposób możesz stworzyć Jenkinsfile. Omówiliśmy również anatomię Jenkinsfile, badając główny rurociąg Hello World.