Przejdź do głównej zawartości

Integracja z GitHub

Przegląd integracji z GitHub​

SDA obsługuje obecnie integrację z GitHub, co umożliwia powiązanie konta GitHub i repozytoriów 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 SDA. Administratorzy mogą konfigurować uwierzytelnianie, wybierać repozytoria i zarządzać ustawieniami synchronizacji — dzięki czemu zespoły mogą utrzymać znane sobie sposoby pracy z GitHub, korzystając jednocześnie z centralnego zarządzania projektami i możliwości automatyzacji oferowanych przez SDA.

Najważniejsze funkcje integracji​

Integracja GitHub z SDA przynosi kilka korzyści:

  • Uproszczony przepływ pracy: Bezproblemowo łączy zaawansowaną kontrolę wersji GitHub z funkcjami wersjonowania projektów PLC i zarządzania PLC w SDA, usprawniając współpracę zespołową.
  • Centralne zarządzanie: Połączenie repozytoriów kodu i zarządzania projektami PLC na jednej platformie upraszcza administrację oraz kontrolę dostępu.
  • Automatyzacja i wdrażanie: Wykorzystanie pipelines SDA do automatycznego wdrażania, co usprawnia publikowanie projektów bezpośrednio z repozytoriów GitHub.
  • Współpraca w czasie rzeczywistym: Aktualizacje i zmiany są synchronizowane natychmiast, co zapewnia, że wszyscy członkowie zespołu pracują na najnowszej wersji projektu.

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

Jak połączyć SDA z GitHub​

Konfiguracja GitHub do integracji z SDA​

  1. Zaloguj się do GitHub: Upewnij się, że masz przygotowane dane uwierzytelniające GitHub.
  2. Wygeneruj osobisty token dostępu: Aby zapewnić dostęp SDA, 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 SDA.

Po wykonaniu tych czynności przygotowawczych Twoje konto GitHub będzie gotowe do integracji z SDA, co pozwoli Ci korzystać z usprawnionej współpracy i zarządzania projektami.

Łączenie konta GitHub z kontem SDA​

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

  1. Otwórz ustawienia: Przejdź do platformy SDA 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 SDA będzie niezwłocznie informowane o zmianach, należy skutecznie skonfigurować webhooki w repozytoriach GitHub. Oto jak to zrobić:

  1. Otwórz ustawienia repozytorium:

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

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

    • Naciśnij przycisk „Add webhook”, aby rozpocząć konfigurację nowego webhooka.
    • Zostaniesz poproszony o wprowadzenie 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 ładunek 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 SDA.
  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 SDA.

Powiązanie repozytorium z projektem SDA​

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

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

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

  3. Połącz repozytorium:

    • Wybierz „Link to Repository”.
    • Wybierz z listy repozytorium do powiązania.
  4. Potwierdzenie: Sprawdź, czy konfiguracja działa. W przypadku powodzenia w nagłówku szczegółów projektu zobaczysz ikonę GitHub.

Przygotowanie repozytorium do integracji z SDA​

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

Struktura folderów repozytorium GitHub​

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

Schemat pliku konfiguracyjnego

  • schema_version: Wskazuje wersję schematu pliku konfiguracyjnego. Wartość domyślna to 1.0.0, co umożliwia przyszłe rozszerzenia i zachowanie zgodności wstecznej.
  • vendor: Określa dostawcę projektu PLC. Dopuszczalne wartości:
    • siemens
    • rockwell
  • ide_version: Określa wersję projektu PLC. Format: {major}.{minor}.{patch}. Na przykład Siemens TIA V17 odpowiada 17.0.0, a Rockwell V37 jest reprezentowany jako 37.0.0.
  • project_path: To pole określa poprawną ścieżkę do projektu PLC w repozytorium. Wykorzystuje format ścieżki relatywnej, liczonej od folderu głównego repozytorium. Oznacza to, że przy ustawianiu project_path nie należy uwzględniać samego katalogu głównego w ścieżce. Zamiast tego podaj segmenty ścieżki prowadzące do konkretnego folderu projektu PLC. Na przykład, jeśli projekt PLC znajduje się w folderze o nazwie Projects, umieszczonym bezpośrednio w katalogu głównym, a w folderze Projects znajduje się folder PLC1 z pożądanymi plikami projektu, wartość project_path będzie następująca: ./Projects/PLC1/MySiemensPLCProject.zap17. Takie podejście pomaga zachować spójne odwołania 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 Automation: W przypadku zarządzania projektami automatyki Siemens 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 projekt jest w formacie skompresowanym, możesz użyć bezpośrednio pliku .zap. Jest to przydatne do łatwego przenoszenia projektów jako jednego pakietu. Na przykład użyj ścieżki pliku:
        • ./Projects/PLC1/MySiemensPLCProject.zap17
        • ./MySiemensPLCProject.zap19
      • Folder nieskompresowany: Alternatywnie możesz pracować z nieskompresowanym folderem zawierającym pliki .ap. Takie rozwiązanie 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 Automation: W przypadku projektów automatyki Rockwell proces jest uproszczony. Projekty te są zawarte w jednym pliku .ACD, co upraszcza zarządzanie projektem i jego udostępnianie. Wykonaj następujące kroki, aby uzyskać dostęp do projektu PLC firmy Rockwell:
      • 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 repozytorium zostanie powiązane z projektem SDA, 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 projekcie SDA.