Eksplorowanie ciągłego dostarczania za pomocą funkcji GitHub Actions

Ukończone

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.

Diagram ciągłego dostarczania za pomocą funkcji GitHub Actions.

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:

  1. 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.
  2. Utwórz katalog .github/workflows. Przepływy pracy GitHub Actions powinny znajdować się w katalogu .github/workflows w głównym katalogu repozytorium.
  3. 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.
  4. Zdefiniuj przepływ pracy w pliku YAML i zapisz zmiany. Plik YAML musi zawierać definicję przepływu pracy.
  5. 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.