Jenkinsfile to plik tekstowy zawierający instrukcje budowy projektu i uruchamianie testów w Jenkins.
Jenkinsfile jest zwykle używany do zdefiniowania rurociągu Jenkins i jest sprawdzany do sterowania źródłem wraz z resztą kodu źródłowego projektu. Jeśli Jenkinsfile zostanie zmienione, instancja Jenkins wykryje zmiany i odbuduje projekt z instrukcjami określonymi w pliku.
Korzystanie z Jenkinsfile pomaga zautomatyzować proces kompilacji i testowania i zapewnia, że projekt jest budowany konsekwentnie za każdym razem. Ułatwia także udostępnianie i ponowne wykorzystanie konfiguracji kompilacji w różnych projektach.
Podczas pracy z Jenkinsfile możesz napotkać instancję, w której musisz przechowywać wartości używane później w pliku lub odwoływane przez inne części skryptu. Tutaj wchodzą zmienne Jenkinsfile.
W tym samouczku dowiemy się, jak używać zmiennych w Jenkinsfile do przechowywania wartości do późniejszego użycia.
Co to jest zmienna Jenkinsfile?
Zmienna Jenkinsfile odnosi się do kontenera pamięci zdefiniowanego i używanego do przechowywania i odniesienia wartości, które są ulec zmianie w skrypcie.
W większości przypadków definiujemy zmienne na początku Jenkinsfile. Zmienne będą zawierać globalny zakres, co oznacza, że można uzyskać do nich dostęp w dowolnym momencie Jenkinfile.
Jak zdefiniować zmienną w deklaratywnym Jenkinsfile
Rozważ następujący JenkinFile, który drukuje prosty tekst Hello World do konsoli.
rurociąg
agent dowolny
Etapy
scena („hello”)
kroki
Echo „Hello World”
Załóżmy, że chcemy dodać zmienną zawierającą dany ciąg i wydrukować ją do konsoli zamiast „Hello World”?
Możemy zacząć od zdefiniowania nowej zmiennej, aby przytrzymać komunikat do wyjścia do konsoli.
W Jenkinsfile definiujemy zmienną za pomocą słowa kluczowego def, a następnie nazwy zmiennej, operatora przypisania i wartości zmiennej.
Na przykład:
def msg = "To jest tekst niestandardowy"
Powyższy przykład definiuje zmienną o nazwie MSG, która trzyma wartość ciągu.
Zmienne są dynamiczne. Dlatego nie musimy określać typu danych podczas deklaracji zmiennej.
Następnie możemy użyć zmiennej, jak pokazano:
def msg = "To jest tekst niestandardowy"
rurociąg
agent dowolny
Etapy
scena („hello”)
kroki
echo "$ msg"
Upewnij się, aby załączyć wiadomość w cudzysłowie.
Po zbudowaniu rurociągu powinniśmy zobaczyć tekst wydrukowany w konsoli, jak pokazano:
Jeśli chcesz zmienić wartość zmiennej wstępnie zdefiniowanej, możesz użyć bloku skryptu, jak pokazano:
etapy ()
kroki()
skrypt
msg = "Teraz ciąg jest inny!!"
Poniżej pokazuje pełną definicję rurociągu.
def msg = "To jest tekst niestandardowy"
rurociąg
agent dowolny
Etapy
scena („hello”)
kroki
skrypt
msg = "Teraz ciąg jest inny!!"
echo "$ msg"
Uruchomienie powyższego rurociągu powinno zwrócić tekst:
Wniosek
W tym artykule odkryłeś, jak zdefiniować zmienne w Jenkinsfile i nauczyłeś się używać zmiennych i modyfikować ich wartości w Jenkinsfile.