Jak używać zmiennych środowiskowych w Jenkinsfile

Jak używać zmiennych środowiskowych w Jenkinsfile
Jenkins to aplikacja serwerowa oparta na Javie, która działa w kontenerze serwletowym, takim jak Apache, Tomcat lub Jetty. Składa się z wtyczek, które zapewniają różne funkcje i funkcje, takie jak obsługa systemów kontroli wersji, narzędzia kompilacji i ramy testowe. Jenkins zapewnia również interfejs internetowy do zarządzania i konfigurowania kompilacji oraz przeglądania wyników kompilacji i raportów.

Jenkins stał się jednym z najpopularniejszych serwerów automatyki, który odgrywa znaczącą rolę w operacjach CI/CD w cyklu rozwoju.

W Jenkins istnieją różne sposoby stworzenia nowej pracy Jenkins. Metody te obejmują:

  1. Interfejs internetowy Jenkins - Jednym ze sposobów utworzenia zadania w Jenkins jest użycie interfejsu Web Jenkins. Obejmuje to zalogowanie się do Jenkinsa, kliknięcie linku „Nowy element” i podążanie za monitorami do utworzenia nowego zadania.
  2. Jenkinsfile - Innym sposobem na stworzenie pracy w Jenkins jest użycie Jenkinsfile. Jenkinsfile to plik tekstowy, który zawiera definicje jednego lub więcej zadań Jenkins. Jest zwykle sprawdzany w kontroli wersji i może być używany do automatyzacji procesu tworzenia i konfigurowania zadań.
  3. Jenkins API - Możesz także tworzyć zadania w Jenkins za pomocą Jenkins API. API Jenkins umożliwia tworzenie i konfigurowanie zadań programowych, a także wyzwolenie kompilacji i pobierania wyników kompilacji.
  4. Narzędzia innych firm-możesz użyć różnych narzędzi i wtyczek innych firm, aby tworzyć i zarządzać Jenkins Jobs. Na przykład wtyczka DSL Jenkins Job pozwala tworzyć zadania za pomocą języka specyficznego dla domeny (DSL), który jest napisany w Groovy.
  5. Kopiowanie istniejącej pracy - wreszcie możesz stworzyć nową pracę w Jenkins, kopiując istniejącą pracę. Może to być przydatne, jeśli chcesz stworzyć nową pracę, która jest podobna do istniejącej, ale z niewielkimi różnicami.

Pomimo wszystkich metod tworzenia pracy w Jenkins, użycie JenkensFile pozostaje jednym z najpopularniejszych. Jest tak, ponieważ zapewnia intuicyjną składnię deklaratywną do zdefiniowania zbioru kroków i etapów. Plik można również zintegrować z repozytorium, umożliwiając Jenkins na automatyczne wykrywanie i uruchamianie kompilacji.

Dlatego podczas pracy w Jenkinsfile spotkasz takie przypadki, w których musisz użyć zmiennych środowiskowych.

Jakie są zmienne środowiskowe

Zmienne środowiskowe odnoszą się do zestawu par kluczowych, do których można uzyskać dostęp lub ustawić z pracy Jenkins. Zmienne środowiskowe są pomocne, gdy potrzebujesz przechowywania informacji wymaganych w wielu projektach lub krokach. Pozwala to przekazać wartości przechowywane w zmiennych w różnych projektach bez powtórzenia.

Jenkins ujawnia różne zmienne środowiskowe w następujący sposób:

  • Zmienne globalne - Jenkins zapewnia zestaw globalnych zmiennych dostępnych dla wszystkich zadań i kompilacji. Do tych zmiennych można uzyskać za pomocą Env obiekt w Jenkinsfile lub skrypcie.
  • Zmienne specyficzne dla pracy - możemy również zdefiniować zmienne środowiskowe dla danego zadania. Możemy zdefiniować tego rodzaju zmienne środowiskowe w pliku konfiguracji zadania. Jednak dobrze jest pamiętać, że te zmienne są dostępne tylko w tej pracy.
  • Zmienne kompilacji - Trzecia zmienna środowiskowa w Jenkins to zmienne kompilacyjne. Te zmienne można ustawić za pomocą Env blok w Jenkinsfile lub poprzez ustawianie zmiennych środowiskowych w skrypcie.
  • Zmienne specyficzne dla środka - wreszcie Jenkins pozwala nam zdefiniować zmienne specyficzne dla danego środka. Możemy zdefiniować zmienne agenta w pliku konfiguracyjnym agenta. Podobnie, tego rodzaju zmienne są zaskoczone tylko do tego środka.

Zobacz zmienne środowiskowe w Jenkins

Aby wyświetlić dostępne zmienne środowiskowe na kontrolerze Jenkins, przejdź do następującego adresu URL:

[Jenkins_Address]/Env-Vars.html

Przykład:

http: // localhost: 8080/env-vars.html

Przykładowe dane wyjściowe jest następujące:

Uzyskaj dostęp do zmiennych środowiskowych w Jenkins

Jak wspomniano, Jenkins ujawnia zmienne środowiskowe za pomocą nazwy obiektu ENV. Dlatego możemy użyć tego obiektu, aby uzyskać dostęp do wartości różnych zmiennych środowiskowych w Jenkins.

Weź następujący przykład rurociągu:

rurociąg
agent dowolny
Etapy
etap („env vars”)
kroki
echo "Job: $ env.Build_id działający na $ env.Jenkins_Url "



Poprzedni przykład używa obiektu ENV, aby uzyskać numer kompilacji i adres serwera. Dlatego uruchomienie poprzedniego rurociągu powinno zwrócić następujące dane wyjściowe:

Zadanie: 1 Uruchamianie na http: // localhost: 9001/

Możemy również uzyskać dostęp do zmiennych środowiskowych Jenkins za pomocą zmiennej krótkiej nazwy. Na przykład możemy uzyskać numer kompilacji jako $ build_number:

rurociąg
agent dowolny
Etapy
etap („env vars”)
kroki
echo „Job: $ build_id działający na $ Jenkins_Url”



Wynikowe wyjście:

Zadanie: 2 Uruchamianie na http: // localhost: 9001/

Dokonaj zmiennych środowiskowych specyficznych dla pracy w Jenkins

Możesz zdefiniować zmienne środowiskowe specyficzne dla pracy w Jenkisfile za pomocą bloku środowiska.

Składnia jest następująca:

środowisko
[nazwa zmiennej] = "[wartość]"

Przykładowe dane wyjściowe jest następujące:

rurociąg
agent dowolny
środowisko
CC = „GCC”

Poprzedni przykład powinien utworzyć lokalne środowisko o nazwie CC z wartością GCC.

Wniosek

Dowiedziałeś się o różnych zmiennych w Jenkins oraz o tym, jak tworzyć i uzyskać dostęp do globalnych i lokalnych zmiennych środowiskowych w Jenkins.