In qualità di amministratore o di sviluppatore di DevOps, è possibile creare script personalizzati che estendano la funzionalità di Code Stream.
Grazie allo script, è possibile integrare Code Stream con gli strumenti di integrazione continua (CI) e di consegna continua (CD), nonché con le API che creano, testano e distribuiscono le applicazioni. Gli script personalizzati sono particolarmente utili se le API dell'applicazione non vengono esposte pubblicamente.
Lo script personalizzato può svolgere quasi tutte le operazioni necessarie per l'integrazione degli strumenti di creazione, test e distribuzione con Code Stream. Ad esempio, lo script può interagire con l'area di lavoro della pipeline per supportare le attività di integrazione continua che creano e testano l'applicazione e le attività di consegna continua che la distribuiscono. Può inviare un messaggio a Slack quando una pipeline termina e molto altro.
L'area di lavoro della pipeline di Code Stream supporta Docker e Kubernetes per le attività di integrazione continua e le attività personalizzate.
Per ulteriori informazioni sulla configurazione dell'area di lavoro, vedere Configurazione dell'area di lavoro della pipeline.
È possibile scrivere lo script personalizzato in uno dei linguaggi supportati. Nello script è necessario includere la logica di business e definire input e output. I tipi di output possono includere numero, stringa, testo e password. È possibile creare più versioni di uno script personalizzato con logica di business, input e output diversi.
Gli script creati si trovano nell'istanza di Code Stream. È possibile importare codice YAML per creare un'integrazione personalizzata o esportare lo script come file YAML da utilizzare in un'altra istanza di Code Stream.
È necessario che la pipeline esegua una versione rilasciata dello script in un'attività personalizzata. Se sono presenti più versioni rilasciate, è possibile impostarne una come più recente in modo che venga visualizzata con più recente --> quando si seleziona l'attività personalizzata.
Quando una pipeline utilizza un'integrazione personalizzata, se si tenta di eliminare l'integrazione personalizzata, viene visualizzato un messaggio di errore che indica che non è possibile eliminarla.
L'eliminazione di un'integrazione personalizzata comporta la rimozione di tutte le versioni dello script personalizzato. Se esiste una pipeline con un'attività personalizzata che utilizza una versione qualsiasi dello script, la pipeline non riuscirà. Per assicurarsi che le pipeline esistenti vengano eseguite correttamente, è possibile deprecare e ritirare la versione dello script che non si desidera più utilizzare. Se tale versione non viene utilizzata da alcuna pipeline, è possibile eliminarla.
Cosa fare... | Ulteriori informazioni su questa azione... |
---|---|
Aggiungere un'attività personalizzata alla pipeline. |
L'attività personalizzata:
|
Selezionare lo script nell'attività personalizzata. |
Le proprietà di input e output vengono dichiarate nello script. |
Salvare la pipeline, quindi abilitarla ed eseguirla. |
Quando la pipeline è in esecuzione, l'attività personalizzata richiama la versione dello script specificata e con tale versione esegue la logica di business, che integra lo strumento di creazione, test e distribuzione con Code Stream. |
Una volta eseguita la pipeline, esaminare le esecuzioni. |
Verificare che la pipeline abbia fornito i risultati previsti. |
Quando si utilizza un'attività personalizzata che richiama una versione di Integrazione personalizzata, è possibile includere variabili di ambiente personalizzate come coppie nome-valore nella scheda Area di lavoro della pipeline. Quando l'immagine del generatore crea il contenitore dell'area di lavoro che esegue l'attività CI e distribuisce l'immagine, Code Stream passa le variabili di ambiente a tale contenitore.
Ad esempio, quando l'istanza di Code Stream richiede un proxy Web e si utilizza un host Docker per creare un contenitore per un'integrazione personalizzata, Code Stream esegue la pipeline e passa le variabili di impostazione del proxy Web a tale contenitore.
Nome | Valore |
---|---|
HTTPS_PROXY | http://10.0.0.255:1234 |
https_proxy | http://10.0.0.255:1234 |
NO_PROXY | 10.0.0.32, *.dept.vsphere.local |
no_proxy | 10.0.0.32, *.dept.vsphere.local |
HTTP_PROXY | http://10.0.0.254:1234 |
http_proxy | http://10.0.0.254:1234 |
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
Le coppie nome-valore vengono visualizzate nell'interfaccia utente nel modo seguente:
In questo esempio viene creata un'integrazione personalizzata che connette Code Stream all'istanza di Slack e invia un messaggio a un canale Slack.
Prerequisiti
- Per scrivere lo script personalizzato, verificare di disporre di uno di questi linguaggi: Python 2, Python 3, Node.js o di uno di questi linguaggi della shell: Bash, sh o zsh.
- Generare un'immagine del contenitore utilizzando il runtime Node.js o Python installato.
Procedura
risultati
Congratulazioni! È stato creato uno script di integrazione personalizzata che connette Code Stream all'istanza di Slack e invia un messaggio a un canale Slack.
Operazioni successive
Continuare a creare integrazioni personalizzate per supportare l'utilizzo di attività personalizzate nelle pipeline, in modo da poter estendere la funzionalità di Code Stream nell'automazione del ciclo di vita del rilascio del software.