Integrazione ECAD: il sistema di distribuzione continua

Ari Mahpour
|  Creato: October 16, 2019  |  Aggiornato: August 10, 2020

Nell’articolo Integrazione e Deployment continui in ECAD abbiamo parlato del concetto di Continuous Deployment all’interno di un sistema build. In questo articolo, approfondiremo il modo in cui si possono impostare sistemi di distribuzione continuae Continuous Deployment affinché il vostro team e i fornitori possano disporre di un flusso continuo di pacchetti ECAD aggiornati da analizzare.

Continuous Deployment/Distribuzione Continua: una rivisitazione

Nell’articolo Integrazione continua: un’implementazione utilizzando Altium Designer, abbiamo preso in esame i dettagli del PCB design integrato in un sistema build. Ciò prevedeva:

  1. Impostazione dei file Output Job
  2. Creazione di script di Altium Designer in Delphi per eseguire in modo programmatico i file Output Job
  3. Abilitare il sistema build all’esecuzione di Altium Designer dalla riga di comando per generare i file di output

In questo articolo parliamo della fase successiva: deployment e distribuzione continua. I sistemi di distribuzione e deployment prendono i file di output generati e li forniscono sotto forma di pacchetti per i “clienti finali”. In questo caso il nostro cliente potremmo essere noi stessi, oppure un collega, un fornitore, il reparto del controllo qualità o un vero cliente.

Continuous Deployment e Distribuzione Continua 

Nell’applicazione che stiamo per prendere in esame, Continuous Deployment e Distribuzione Continua funzionano in modo pressoché identico, fatta eccezione per il fatto che la fase di distribuzione richiede un passaggio in più per raggiungere il cliente. Secondo Atlassian, il Continuous Deployment prende gli output generati dall’ambiente build e li fornisce direttamente al cliente. La distribuzione continua richiede invece al team di fornire attivamente il pacchetto al cliente. Poiché, ai fini di questa applicazione, il nostro cliente può essere letteralmente chiunque (inclusi noi stessi), parleremo di Continuous Deployment quale meccanismo di fornitura del pacchetto.

Esempio: lavoro di squadra

Ricordate l’esempio dell’articolo Integrazione continua: un’implementazione utilizzando Altium Designer? Un team sta cercando gli schemi PDF, i file di fabbricazione/assemblaggio e/o i modelli STEP migliori e più recenti. Nonostante la vostra progettazione non sia terminata, una parte di essa è “sufficientemente buona” per la revisione DFM. Magari il posizionamento è stato bloccato affinché un progettista meccanico possa utilizzare l’ultima versione del vostro modello STEP. Indipendentemente da ciò, deve essere generato un pacchetto affinché questo gruppo possa controllare i vostri file di progetto. Il sistema Continuous Deployment farà questo per ciascun build che ha attraversato. Per alcuni questo esempio ha molto senso, tuttavia per altri questo approccio “agile” non è molto pratico. Ecco un secondo esempio, più pratico e utile nelle relazioni con i clienti aziendali.

Esempio: Arma a noleggio

In qualità di azienda di PCB design, il vostro cliente chiede continuamente aggiornamenti riguardo al progetto a cui state lavorando. La creazione di aggiornamenti settimanali e il loro invio al cliente tramite e-mail diventa una scocciatura e può richiedere molto tempo. Se sfruttiamo il nostro sistema build, già impegnato nell’integrazione continua, possiamo fare un ulteriore passo avanti per fornire pacchetti pronti all’uso ai nostri clienti e/o implementarli automaticamente presso di loro. Ciò significa che, per ogni commit che effettuate verso il server, il vostro cliente riceverà una schematica, un pacchetto di fabbricazione/assemblaggio e altri output aggiornati, da voi impostati nel file Output Job. Questo file può essere inviato a un’unità di rete condivisa oppure nel cloud. Ciò consente inoltre al cliente di visualizzare i file di progetto e i pacchetti senza installare il software ECAD (generazione automatica del PDF tramite il file Output Job). Ad alcuni ciò potrebbe non interessare (perché preferiscono avere il controllo di ciò che viene rilasciato al cliente), tuttavia per altri potrebbe trasformare il significato della parola “trasparenza”. Se l’idea di un deployment automatico ai clienti piace, è possibile generare il build, inviarlo al gruppo per la revisione, quindi inviare il pacchetto al cliente in un momento successivo.

Implementazione

Fase 1: Configurate il vostro Output Job utilizzando i file di output necessari per il vostro sistema build.

Altium Designer screenshot showing configuration of output job needed for the build system

Figura 1. Configurazione dell’Output Job per generare i file di fabbricazione all’interno del sistema build un esempio di distribuzione continua

(Dall’esempio del “MiniPC” Altium Designer)

Altium Designer screenshot showing configuration of output job needed for the build system

Figura 2. Un altro esempio del sistema di distribuzione continua: Configurazione dell’Output Job per generare i file di assemblaggio all’interno del sistema build

(Dall’esempio del “MiniPC” Altium Designer)

Fase 2: Zippate i pacchetti tramite la riga di comando. Installate 7-Zip sulla macchina build e utilizzate il seguente comando per zippare il pacchetto:

7z a -tzip Fabrication.zip Fabrication/

7z a -tzip Assembly.zip Assembly/

Fase 3: Configurate il sistema di deployment affinché utilizzi il build attuale e controllate che i pacchetti siano stati inviati.

Atlassian Bamboo deployment system configuration screenshot showing script configuration.

Figura 3. Configurazione del sistema di distribuzione deployment Bamboo

Atlassian Bamboo deployment system configuration screenshot showing deployment project summary.

Figura 4. Esempio di distribuzione continua e deployment per un build Bamboo

Atlassian Bamboo deployment system configuration screenshot showing your first release.

Figura 5. Stato del sistema di distribuzione e deployment dei build Bamboo

Fase 4: Rilasciate automaticamente in caso di impostazione Deployment e manualmente in caso di impostazione di distribuzione.

 Atlassian Bamboo email notification after successful deployment.

Figura 6. Notifica tramite e-mail: rilascio della distribuzione continua e del deployment automatico utilizzando Atlassian Bamboo

Fase 5: Approfittate del linkage

Atlassian Bamboo release screenshot showing linkage of deployment release to specific Jira tickets.

Figura 7. Linkage del rilascio della distribuzione continua e deployment a specifici ticket Jira

Come potete notare, un ticket Jira è stato risolto tra la fase di sviluppo (1.11) e quella di produzione (1.5)

Conclusione

In questa analisi abbiamo approfondito il concetto di Continuous Deployment e Distribuzione Continua. Impostando sistemi di CI/CD, consentiamo al nostro team e/o ai nostri clienti di prendere visione del pacchetto, indipendentemente della fase in cui ci troviamo. Questo processo favorisce la collaborazione e la trasparenza con il team e i clienti.

Volete saperne di più su come Altium può aiutarvi con il vostro prossimo progetto PCB? Contattate un esperto di Altium o continuate a leggere per scoprire come utilizzare le librerie PCB integrate e la cattura schematica con Altium Designer®.

Sull'Autore

Sull'Autore

Ari is an engineer with broad experience in designing, manufacturing, testing, and integrating electrical, mechanical, and software systems. He is passionate about bringing design, verification, and test engineers together to work as a cohesive unit.

Articoli Più Recenti

Tornare alla Pagina Iniziale