Przejdź do głównej zawartości

Integracja z GitHub

Przegląd integracji z GitHub​

SEW obsługuje obecnie integrację z GitHub, co umożliwia powiązanie konta i repozytoriów GitHub bezpośrednio z platformą. Dzięki temu połączeniu GitHub może służyć jako lokalne repozytorium z kontrolą wersji, które pozostaje zsynchronizowane z repozytorium SEW. Administratorzy mogą konfigurować uwierzytelnianie, wybierać repozytoria i zarządzać ustawieniami synchronizacji — co pozwala zespołom zachować znane procesy pracy w GitHub, korzystając jednocześnie ze scentralizowanego zarządzania projektami i możliwości automatyzacji oferowanych przez SEW.

Kluczowe funkcje integracji​

Integracja GitHub z SEW zapewnia szereg korzyści:

  • Uproszczony przepływ pracy: Bezproblemowo łączy rozbudowaną kontrolę wersji GitHub z funkcjami wersjonowania projektów PLC i zarządzania PLC w SEW, zwiększając efektywność współpracy zespołowej.
  • Scentralizowane zarządzanie: Połącz repozytoria kodu i zarządzanie projektami PLC na jednej platformie, aby uprościć administrację i kontrolę dostępu.
  • Automatyzacja i wdrażanie: Wykorzystaj pipelines SEW z funkcjami automatycznego wdrażania, aby usprawnić publikowanie projektów bezpośrednio z repozytoriów GitHub.
  • Współpraca w czasie rzeczywistym: Aktualizacje i zmiany są synchronizowane natychmiast, dzięki czemu wszyscy członkowie zespołu pracują na najnowszej wersji projektu.

Integrując GitHub z SEW, Twój zespół może zwiększyć produktywność i efektywność projektów.

Jak połączyć SEW z GitHub​

Konfiguracja GitHub do integracji z SEW​

  1. Zaloguj się do GitHub: Upewnij się, że masz przygotowane dane uwierzytelniające do GitHub.
  2. Wygeneruj osobisty token dostępu: Aby zapewnić dostęp dla SEW, przejdź do Developer settings, wybierz Personal access tokens i utwórz nowy token typu Fine-grained. Ustaw uprawnienia Contents i Metadata dla repozytoriów, które chcesz udostępnić.
  3. Skopiuj token: Przechowuj token w bezpiecznym miejscu, ponieważ zostanie użyty w procesie uwierzytelniania w SEW.

Po wykonaniu tych kroków przygotowawczych Twoje konto GitHub będzie gotowe do integracji z SEW, umożliwiając korzystanie z ulepszonej współpracy i zarządzania projektami.

Łączenie konta GitHub z kontem SEW​

Aby połączyć platformę SEW z GitHub, wykonaj następujące kroki:

  1. Otwórz ustawienia: Przejdź do platformy SEW i otwórz sekcję „General Settings”.
  2. Utwórz nową integrację: Przejdź do sekcji Integrations i dodaj nową integrację, klikając Add Integration.
  3. Uwierzytelnij konto GitHub: W oknie Add Integration wprowadź nazwę integracji i wklej swój token dostępu GitHub.

Konfiguracja webhooków dla automatycznych aktualizacji​

Aby włączyć automatyczne aktualizacje i zapewnić, że SEW będzie niezwłocznie informowany o zmianach, należy prawidłowo skonfigurować webhooki w repozytoriach GitHub. Oto jak to zrobić:

  1. Otwórz ustawienia repozytorium:

    • Przejdź do swojego repozytorium GitHub.
    • Kliknij zakładkę „Settings”, która zwykle znajduje się po prawej stronie paska nawigacji repozytorium.
  2. Znajdź sekcję Webhooks:

    • W ustawieniach przewiń w dół lub znajdź opcję „Webhooks” w menu po lewej stronie.
    • Kliknij „Webhooks”, aby zarządzać hookami i dodawać nowe.
  3. Utwórz nowy webhook:

    • Kliknij przycisk „Add webhook”, aby rozpocząć konfigurację nowego webhooka.
    • Zostaniesz poproszony o podanie adresu Payload URL, czyli punktu końcowego, do którego mają być wysyłane żądania HTTP POST po wystąpieniu określonych zdarzeń. Wartość tę możesz skopiować z nowo utworzonej integracji.
  4. Skonfiguruj payload webhooka:

    • W polu „Content type” wybierz application/json, aby otrzymywać dane w ustrukturyzowanym formacie.
    • Ustaw klucz tajny (secret), aby zabezpieczyć webhook przed nieautoryzowanym dostępem. Wartość tę możesz skopiować ze swojej integracji SEW.
  5. Wybierz zdarzenia:

    • Wybierz opcję „Just push events”.
  6. Zakończ konfigurację:

    • Sprawdź ponownie ustawienia.
    • Kliknij „Add webhook”, aby zakończyć konfigurację i aktywować webhook.

Po skonfigurowaniu webhook będzie wysyłał aktualizacje do SEW.

Powiązanie repozytorium z projektem SEW​

Aby powiązać repozytorium z projektem SEW, wykonaj następujące kroki:

  1. Otwórz sekcję projektu: Otwórz swój projekt SEW.

  2. Otwórz menu edycji projektu: Kliknij trzy kropki w prawym górnym narożniku strony projektu.

  3. Połącz repozytorium:

    • Wybierz „Link to Repository”.
    • Wybierz repozytorium z listy, aby je powiązać.
  4. Potwierdzenie: Sprawdź, czy konfiguracja działa. W przypadku powodzenia w nagłówku szczegółów projektu pojawi się ikona GitHub.

Przygotowanie repozytorium do integracji z SEW​

Gdy repozytorium jest już skonfigurowane i połączone, przygotuj jego zawartość tak, aby SEW wiedział, jak ją obsłużyć.

Struktura folderów repozytorium GitHub​

Proces integracji z SEW wymaga, aby każde repozytorium zawierało pojedynczy projekt PLC. Chociaż struktura folderów może być dostosowana przez użytkownika, folder główny musi zawierać plik config.sda.json. Plik ten określa dostawcę i wersję IDE projektu PLC.

Schemat pliku konfiguracyjnego

  • schema_version: Wskazuje wersję schematu pliku konfiguracyjnego. Wartość domyślna to 1.0.0, która umożliwia przyszłe rozszerzenia i zachowuje zgodność wstecz.
  • vendor: Określa dostawcę projektu PLC. Dopuszczalne wartości to:
    • siemens
    • rockwell
  • ide_version: Określa wersję projektu PLC. Stosowany jest format {major}.{minor}.{patch}. Na przykład Siemens TIA V17 odpowiada wartości 17.0.0, a Rockwell V37 jest reprezentowany jako 37.0.0.
  • project_path: To pole określa prawidłową ścieżkę do projektu PLC w repozytorium. Używany jest format ścieżki relatywnej, rozpoczynającej się od folderu głównego repozytorium. Oznacza to, że ustawiając project_path, nie należy uwzględniać w ścieżce samego katalogu głównego. Zamiast tego podaj segmenty ścieżki prowadzące do konkretnego folderu projektu PLC. Na przykład, jeśli Twój projekt PLC znajduje się w folderze o nazwie Projects, który leży bezpośrednio w katalogu głównym, a wewnątrz Projects znajduje się folder PLC1 z żądanymi plikami projektu, wówczas project_path będzie miał postać ./Projects/PLC1/MySiemensPLCProject.zap17. Takie podejście pomaga zachować spójne odwoływanie się do plików w różnych środowiskach, w których repozytorium może być używane, ponieważ nie opiera się na ścieżkach absolutnych, które mogą różnić się między systemami.
    • Projekt Siemens PLC: W przypadku zarządzania projektami Siemens PLC obsługujemy zarówno skompresowany plik .zap, jak i nieskompresowaną strukturę folderów zawierającą pliki .ap. Oto jak można pracować z tymi formatami:
      • Plik skompresowany: Jeśli Twój projekt jest w formacie skompresowanym, możesz użyć bezpośrednio pliku .zap. Jest to przydatne przy łatwym przenoszeniu projektów jako jednego pakietu. Na przykład użyj ścieżki:
        • ./Projects/PLC1/MySiemensPLCProject.zap17
        • ./MySiemensPLCProject.zap19
      • Folder nieskompresowany: Alternatywnie możesz pracować z nieskompresowanym folderem zawierającym pliki .ap. Taka konfiguracja umożliwia łatwiejszy dostęp do poszczególnych komponentów projektu, co może być korzystne podczas rozwoju lub debugowania. Użyj następującej ścieżki, aby uzyskać dostęp do projektu:
        • ./Projects/PLC1/MySiemensPLCProject/MySiemensPLCProject.ap17
        • ./MySiemensPLCProject/MySiemensPLCProject.ap19
    • Projekt Rockwell PLC: W przypadku projektów Rockwell PLC proces jest uproszczony. Projekty te są zawarte w jednym pliku .ACD, co upraszcza zarządzanie projektem i jego udostępnianie. Wykonaj poniższe kroki, aby uzyskać dostęp do projektu Rockwell PLC:
      • Plik ACD: Plik .ACD obejmuje wszystkie niezbędne dane projektu. Wystarczy wskazać ten plik:
        • ./Projects/PLC1/MyRockwellPLCProject.ACD
        • ./MyRockwellPLCProject.ACD

Przykład pliku config.sda.json​

{
"schema_version": "1.0.0",
"vendor": "siemens",
"ide_version": "17.0.0",
"project_path": "./SimulatedAxisSinamicsV90_S71212C.zap17"
}

Po pomyślnym zakończeniu procesu Twoje repozytorium zostanie powiązane z projektem SEW, co usprawni współpracę i zarządzanie projektem. Od tej pory każdy nowy commit wypchnięty do repozytorium GitHub utworzy odpowiadającą mu wersję projektu w Twoim projekcie SEW.