Pipeline jako kod w Jenkins z użyciem Jenkinsfile
Zdefiniuj deklaratywnie etapy budowania, testowania i wdrażania w pliku Jenkinsfile przechowywanym w repozytorium, aby sam pipeline był wersjonowany razem z aplikacją.
Pipeline jako kod w Jenkins z użyciem Jenkinsfile to bezpłatna lekcja Docker & DevOps Fundamentals na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Docker & DevOps Fundamentals, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Docker & DevOps Fundamentals zawiera 4 lekcji w sumie.
Potok jako kod
Zamiast ręcznie konfigurować zadania w interfejsie Jenkins, należy opisać cały potok w pliku Jenkinsfile przechowywanym w repozytorium. Potok staje się kodem: można go przeglądać, wersjonować i przenosić.
Deklaratywne a skryptowane
Jenkins oferuje dwie składnie. Potoki deklaratywne mają uporządkowaną strukturę i są przyjazne dla początkujących, natomiast potoki skryptowane wykorzystują pełnię możliwości Groovy. Skupimy się na potokach deklaratywnych.
Blok pipeline
Każdy deklaratywny plik Jenkinsfile zaczyna się od bloku pipeline, który zawiera element agent (miejsce wykonywania) oraz element stages.
pipeline {
agent any
stages {
stage('Build') {
steps { echo 'Building...' }
}
}
}Definiowanie etapów
Każdy element stage grupuje powiązane elementy steps. Etapy są wyświetlane jako kolumny w interfejsie Jenkins, zapewniając czytelny wizualny obraz postępu potoku.
stages {
stage('Build') { steps { sh 'make build' } }
stage('Test') { steps { sh 'make test' } }
}Uruchamianie kroków powłoki
Krok sh uruchamia polecenie powłoki na agencie. Można go używać do kompilowania kodu, uruchamiania testów lub budowania obrazu Docker.
steps {
sh 'docker build -t myapp:${BUILD_NUMBER} .'
}Zmienne środowiskowe
Blok environment definiuje zmienne dostępne we wszystkich krokach. Jenkins udostępnia również wbudowane zmienne, takie jak BUILD_NUMBER i GIT_COMMIT.
environment {
REGISTRY = 'registry.example.com'
IMAGE = 'myapp'
}Powiązywanie danych uwierzytelniających
Nigdy nie należy wpisywać sekretów bezpośrednio w kodzie. Należy przechowywać je w danych uwierzytelniających Jenkins i pobierać za pomocą pomocnika credentials(), aby były ukrywane w dziennikach.
environment {
REG_PASS = credentials('registry-password')
}Akcje po wykonaniu
Blok post jest uruchamiany po zakończeniu etapów, zależnie od wyniku. Doskonale nadaje się do wysyłania powiadomień i sprzątania.
post {
success { echo 'Pipeline succeeded' }
failure { echo 'Pipeline failed' }
always { sh 'docker image prune -f' }
}Etapy równoległe
Można przyspieszyć pracę, uruchamiając niezależne zadania w elemencie parallel — na przykład testy jednostkowe i integracyjne jednocześnie.
stage('Tests') {
parallel {
stage('Unit') { steps { sh 'make unit' } }
stage('Integration') { steps { sh 'make int' } }
}
}Etapy warunkowe
Dyrektywa when uruchamia etap tylko wtedy, gdy spełniony jest warunek — na przykład wdrażając zmiany wyłącznie z głównej gałęzi.
stage('Deploy') {
when { branch 'main' }
steps { sh './deploy.sh' }
}Potoki wielogałęziowe
Wystarczy wskazać repozytorium w Jenkins, a wykryje on każdą gałąź zawierającą plik Jenkinsfile i automatycznie utworzy dla niej osobny potok. Gałęzie funkcji otrzymują CI bez dodatkowej konfiguracji.
Szybkie sprawdzenie
Gdzie znajduje się definicja potoku deklaratywnego?
Podsumowanie
Można już definiować potoki jako kod:
pipeline { agent; stages }to szkielet deklaratywny- Kroki
shuruchamiają polecenia, aenvironmenticredentials()zarządzają konfiguracją post,paralleliwhenrozszerzają możliwości- Potoki wielogałęziowe automatycznie zapewniają CI każdej gałęzi
Plik Jenkinsfile znajduje się razem z kodem i rozwija się wraz z nim.
Ucz się Docker & DevOps Fundamentals dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 12
- Lekcje
- 48
Często zadawane pytania
Czy lekcja „Pipeline jako kod w Jenkins z użyciem Jenkinsfile” jest bezpłatna?
Tak — pełny tekst „Pipeline jako kod w Jenkins z użyciem Jenkinsfile” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Docker & DevOps Fundamentals, przejdź na CoddyKit PRO. Kurs Docker & DevOps Fundamentals zawiera 4 lekcji w sumie.
Co nauczysz się w „Pipeline jako kod w Jenkins z użyciem Jenkinsfile”?
Zdefiniuj deklaratywnie etapy budowania, testowania i wdrażania w pliku Jenkinsfile przechowywanym w repozytorium, aby sam pipeline był wersjonowany razem z aplikacją. Ćwiczysz Docker & DevOps Fundamentals z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Docker & DevOps Fundamentals?
Nie wymagamy żadnego doświadczenia. Docker & DevOps Fundamentals w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Pipeline jako kod w Jenkins z użyciem Jenkinsfile”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Docker & DevOps Fundamentals?
Tak. Każda lekcja Docker & DevOps Fundamentals zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Wprowadzenie do Jenkins
- Budowanie obrazów Docker za pomocą Jenkins
- Automatyczne wdrażanie za pomocą Jenkins
- Pipeline jako kod w Jenkins z użyciem Jenkinsfile