Passa al contenuto principale

Integrazione GitHub

Panoramica dell'integrazione GitHub​

SEW supporta attualmente l'integrazione con GitHub, che consente di collegare il proprio account e i propri repository GitHub direttamente alla piattaforma. Attraverso questa connessione, GitHub può fungere da repository locale con controllo di versione, mantenuto sincronizzato con il repository SEW. Gli amministratori possono configurare l'autenticazione, selezionare i repository e gestire le impostazioni di sincronizzazione, consentendo ai team di mantenere i flussi di lavoro GitHub a loro familiari beneficiando al contempo delle funzionalità centralizzate di gestione dei progetti e di automazione di SEW.

Caratteristiche principali dell'integrazione​

L'integrazione di GitHub con SEW offre diversi vantaggi:

  • Flusso di lavoro ottimizzato: integra in modo trasparente il solido controllo di versione di GitHub con le funzionalità di versionamento dei progetti PLC e di gestione PLC di SEW, migliorando la collaborazione del team.
  • Gestione centralizzata: combina i repository di codice e la gestione dei progetti PLC in un'unica piattaforma per semplificare l'amministrazione e il controllo degli accessi.
  • Automazione e distribuzione: utilizza le pipeline di SEW per le funzionalità di distribuzione automatizzata, semplificando i rilasci dei progetti direttamente dai repository GitHub.
  • Collaborazione in tempo reale: aggiornamenti e modifiche vengono sincronizzati istantaneamente, garantendo che tutti i membri del team lavorino con la versione più recente del progetto.

Integrando GitHub con SEW, il vostro team può aumentare la produttività e l'efficienza dei progetti.

Come connettere SEW a GitHub​

Configurare GitHub per l'integrazione con SEW​

  1. Accedere a GitHub: assicurarsi di avere a disposizione le proprie credenziali GitHub.
  2. Generare un Personal Access Token: per fornire l'accesso a SEW, accedere a Developer settings, scegliere Personal access tokens e creare un nuovo Fine-grained token. Impostare le autorizzazioni su Contents e Metadata per i repository che si desidera condividere.
  3. Copiare il token: conservare il token in modo sicuro, poiché verrà utilizzato durante il processo di autenticazione in SEW.

Seguendo questi passaggi preparatori, il vostro account GitHub sarà pronto per l'integrazione con SEW, consentendovi di beneficiare di una collaborazione e di una gestione dei progetti migliorate.

Collegare GitHub al proprio account SEW​

Per connettere la piattaforma SEW a GitHub, seguire questi passaggi:

  1. Accedere alle impostazioni: aprire la piattaforma SEW e andare alla sezione 'General Settings'.
  2. Creare una nuova integrazione: accedere alla sezione Integrations e aggiungere una nuova integrazione facendo clic su Add Integration.
  3. Autenticare l'account GitHub: nella finestra Add Integration, inserire il nome dell'integrazione e incollare il proprio token di accesso GitHub.

Configurare i webhook per gli aggiornamenti automatici​

Per abilitare gli aggiornamenti automatici e garantire che SEW venga informato tempestivamente delle modifiche, è necessario configurare correttamente i webhook all'interno dei repository GitHub. Ecco come procedere:

  1. Accedere alle impostazioni del repository:

    • Iniziare accedendo al proprio repository GitHub.
    • Fare clic sulla scheda "Settings", solitamente collocata all'estrema destra della barra di navigazione del repository.
  2. Individuare la sezione Webhooks:

    • Una volta nelle impostazioni, scorrere verso il basso o cercare l'opzione "Webhooks" nel menu a sinistra.
    • Fare clic su "Webhooks" per gestire e aggiungere nuovi hook.
  3. Creare un nuovo webhook:

    • Premere il pulsante "Add webhook" per avviare la configurazione di un nuovo webhook.
    • Verrà richiesto di inserire un Payload URL, ovvero l'endpoint a cui si desidera inviare le richieste HTTP POST al verificarsi di determinati eventi. È possibile copiare questo valore dall'integrazione appena creata.
  4. Configurare il payload del webhook:

    • In "Content type", scegliere application/json per ricevere i dati in un formato strutturato.
    • Impostare la chiave segreta per proteggere il webhook da accessi non autorizzati. È possibile copiare questo valore dalla propria integrazione SEW.
  5. Selezionare gli eventi:

    • Scegliere l'opzione "Just push events".
  6. Completare la configurazione:

    • Verificare nuovamente le configurazioni.
    • Fare clic su "Add webhook" per finalizzare e attivare il webhook.

Una volta configurato, il webhook invierà gli aggiornamenti a SEW.

Collegare un repository a un progetto SEW​

Per collegare un repository a un progetto SEW, seguire questi passaggi:

  1. Accedere alla sezione del progetto: aprire il proprio progetto SEW.

  2. Accedere al menu di modifica del progetto: selezionare i tre puntini nell'angolo in alto a destra della pagina del progetto.

  3. Connettere il repository:

    • Selezionare 'Link to Repository'.
    • Scegliere dall'elenco un repository da collegare.
  4. Conferma: verificare che la configurazione funzioni. Se l'operazione è riuscita, verrà visualizzata un'icona GitHub nell'intestazione dei dettagli del progetto.

Preparare il repository per l'integrazione con SEW​

Ora che il repository è configurato e connesso, occorre preparare il suo contenuto in modo che SEW sappia come gestirlo.

Struttura delle cartelle del repository GitHub​

Il processo di integrazione SEW richiede che ogni repository contenga un singolo progetto PLC. Sebbene la struttura delle cartelle possa essere personalizzata dall'utente, la cartella radice deve contenere un file config.sda.json. Questo file specifica il vendor e la versione dell'IDE del progetto PLC.

Schema del file di configurazione

  • schema_version: indica la versione dello schema del file di configurazione. Il valore predefinito è 1.0.0, che supporta miglioramenti futuri e mantiene la retrocompatibilità.
  • vendor: specifica il vendor del progetto PLC. I valori accettati sono:
    • siemens
    • rockwell
  • ide_version: specifica la versione del progetto PLC. Segue il formato {major}.{minor}.{patch}. Ad esempio, Siemens TIA V17 corrisponde a 17.0.0 e Rockwell V37 è rappresentato come 37.0.0.
  • project_path: questo campo specifica il percorso corretto del progetto PLC all'interno del repository. Utilizza un formato di percorso relativo che parte dalla cartella radice del repository. Ciò significa che, quando si imposta project_path, non si deve includere la directory radice stessa nel percorso. Occorre invece indicare i segmenti di percorso che conducono alla cartella specifica del progetto PLC. Ad esempio, se il progetto PLC si trova in una cartella denominata Projects che risiede direttamente nella directory radice e, all'interno di Projects, è presente una cartella PLC1 in cui sono conservati i file di progetto desiderati, il project_path sarà ./Projects/PLC1/MySiemensPLCProject.zap17. Questa impostazione consente di mantenere un riferimento coerente ai file nei diversi ambienti in cui il repository può essere utilizzato, poiché non si basa su percorsi assoluti che possono variare da un sistema all'altro.
    • Progetto PLC Siemens: per la gestione dei progetti PLC Siemens, offriamo il supporto sia per il file compresso .zap sia per la struttura di cartelle non compressa che include i file .ap. Ecco come lavorare con questi formati:
      • File compresso: se il progetto è in formato compresso, è possibile utilizzare direttamente il file .zap. Questo è utile per trasferire facilmente i progetti come un unico pacchetto. Ad esempio, utilizzare il percorso file:
        • ./Projects/PLC1/MySiemensPLCProject.zap17
        • ./MySiemensPLCProject.zap19
      • Cartella non compressa: in alternativa, è possibile lavorare con una cartella non compressa contenente i file .ap. Questa configurazione consente un accesso più semplice ai singoli componenti del progetto, il che può risultare vantaggioso durante lo sviluppo o il debug. Utilizzare il seguente percorso per accedere al progetto:
        • ./Projects/PLC1/MySiemensPLCProject/MySiemensPLCProject.ap17
        • ./MySiemensPLCProject/MySiemensPLCProject.ap19
    • Progetto PLC Rockwell: per i progetti PLC Rockwell il processo è semplificato. Questi progetti sono racchiusi in un unico file .ACD, il che semplifica la gestione e la condivisione del progetto. Seguire questi passaggi per accedere al progetto PLC Rockwell:
      • File ACD: il file .ACD contiene tutti i dati di progetto necessari. È sufficiente indicare il file:
        • ./Projects/PLC1/MyRockwellPLCProject.ACD
        • ./MyRockwellPLCProject.ACD

Esempio di file config.sda.json​

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

Al termine dell'operazione, il repository sarà collegato al progetto SEW, facilitando la collaborazione e la gestione del progetto. Da questo momento, ogni nuovo commit inviato al repository GitHub creerà una versione di progetto corrispondente nel progetto SEW.