Eksplorowanie ciągłego dostarczania za pomocą funkcji GitHub Actions
Funkcja GitHub Actions udostępnia mechanizm implementowania przepływów pracy dostarczania oprogramowania przy użyciu możliwości platformy GitHub. Byłoby to najbardziej optymalne podejście do CI/CD dla organizacji w naszym przykładowym scenariuszu, biorąc pod uwagę plany korzystania z GitHub na potrzeby podróży DevOps. W tej lekcji dowiesz się, jak tworzyć i uruchamiać przepływy pracy CI/CD przy użyciu GitHub Actions.
Co to jest funkcja GitHub Actions?
W kontekście usługi GitHub termin actions rzeczywiście ma podwójne znaczenie. Pierwszy (pisany wielką literą Actions) reprezentuje usługę GitHub, która daje możliwość implementowania workflowów CI/CD. Drugi (małe litery akcje) wyznacza jednostki do ponownego użycia, które mogą być uwzględnione w przepływach pracy, aby dostarczać określone funkcjonalności, takie jak uruchamianie skryptów i plików wykonawczych, tworzenie i przesyłanie artefaktów lub konfigurowanie dostępu do subskrypcji platformy Azure.
Jakie są główne składniki funkcji GitHub Actions?
Kluczowe składniki funkcji GitHub Actions obejmują:
- przepływ pracy: sekwencja kroków przechowywanych w pliku w formacie YAML. Przepływy pracy przeprowadzają etapy, gdy są wyzwalane ręcznie lub (częściej) automatycznie przez działania związane z repozytorium, takie jak przesunięcia lub scalanie gałęzi.
- zadanie: najwyższy element przepływu pracy. Zadania w przepływie pracy mogą być uruchamiane równolegle lub sekwencyjnie.
- krok: najważniejszy element w pracy. Każdy krok to zadanie lub akcja, która wykonuje określone działanie, takie jak uruchamianie skryptu lub tworzenie artefaktu.
- akcja: przygotowana wcześniej lub niestandardowa czynność (jak wspomniano wcześniej). Usługa GitHub udostępnia platformę handlową, w której można znaleźć szeroką gamę wstępnie utworzonych akcji.
- zmienna: nazwana wartość, która umożliwia przechowywanie i ponowne używanie danych w kolejnych krokach przepływu pracy. Możesz utworzyć własne zmienne niestandardowe lub użyć dowolnych wstępnie zdefiniowanych, domyślnych zmiennych środowiskowych automatycznie ustawionych w ramach każdego przepływu pracy.
- tajny: zaszyfrowana zmienna, która może służyć do przechowywania poufnych danych.
Jak utworzyć przepływ pracy funkcji GitHub Actions?
Aby utworzyć przepływ pracy funkcji GitHub Actions, wykonaj następujące kroki:
- Utwórz repozytorium. Aby zaimplementować przepływ pracy funkcji GitHub Actions, musisz mieć konto GitHub i repozytorium. Domyślnie nowe repozytorium zawiera gałąź domyślną, zazwyczaj o nazwie main.
- Utwórz katalog .github/workflows. Przepływy pracy GitHub Actions powinny znajdować się w katalogu .github/workflows w głównym katalogu repozytorium.
- Utwórz plik YAML. Przepływ pracy funkcji GitHub Actions ma format YAML. Jego nazwa jest dowolna, ale oczekuje się, że rozszerzenie ma zostać ustawione na .yml.
- Zdefiniuj przepływ pracy w pliku YAML i zapisz zmiany. Plik YAML musi zawierać definicję przepływu pracy.
- Zatwierdź zapisany plik w repozytorium. Aby sfinalizować zmiany przepływu pracy, należy wykonać zatwierdzenie, tak jak w przypadku każdego pliku, który jest częścią repozytorium. Jeśli zdecydujesz się utworzyć przepływ pracy na komputerze lokalnym (zamiast przy użyciu interfejsu internetowego usługi GitHub), sklonujesz repozytorium po jego utworzeniu, zastosuj i zatwierdź zmiany lokalnie, a następnie wypchniesz je do usługi GitHub.
Oto prosty przykład przepływu pracy funkcji GitHub Actions, który wyświetla komunikat Hello z funkcji GitHub Actions! po wykonaniu.
name: Simple GitHub Actions workflow
on: [push]
jobs:
say_hello:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Run Build Script
run: |
echo "Hello, GitHub Actions!"
Pierwszy wiersz przepływu pracy definiuje jego nazwę, która jest wyświetlana na karcie Actions repozytorium w interfejsie internetowym usługi GitHub. Wiersz on: [push] wyznacza zdarzenie, które wyzwala uruchomienie przepływu pracy (w tym przypadku wypychanie do dowolnej gałęzi w repozytorium przepływu pracy).
Przepływ pracy składa się z jednego zadania o nazwie say_hello, jak wskazuje zawartość po wierszu jobs:. Następny wiersz (runs-on: ubuntu-latest) określa typ systemu operacyjnego, który powinien być używany do uruchamiania zadania. Wybór zależy od zadań, które zawiera zadanie, a w tym przypadku zadanie będzie również uruchamiane w dowolnym systemie operacyjnym Windows.
Zadanie składa się z dwóch kroków, zgodnie z zawartością po wierszu steps:. Składnia kroku obsługuje opcjonalny atrybut nazwa, który może pomóc zrozumieć cel kroku podczas przeglądania przebiegu pracy. Pozostała część składni zależy od typu akcji, którą ma wykonać dany krok. W tym przykładzie pierwszym krokiem jest wyewidencjonowanie bieżącego repozytorium (które pobiera zawartość repozytorium do systemu, w którym zadanie jest uruchomione), podczas gdy drugi uruchamia echo polecenie, które wyświetla przyjazny komunikat.
Aby zintegrować funkcjonalność CI/CD z procesami pracy GitHub Actions, należy dodać szereg kroków (w co najmniej jednym zadaniu), które wykonują zautomatyzowane akcje kompilacji, testowania i wdrażania. Po rozpoczęciu wykonywania przepływu pracy możesz śledzić jego postęp, przechodząc do zakładki "Akcje" w repozytorium GitHub.
Notatka
Masz szansę pracować z bardziej znaczącymi przykładami przepływów pracy w GitHub Actions, które ilustrują integrację procesów CI/CD w laboratorium tego modułu.