Integrazione di Code Engine workload con Continuous Delivery
Puoi automatizzare la creazione e la distribuzione dei tuoi carichi di lavoro IBM Cloud® Code Engine creando una toolchain con Continuous Delivery. Puoi creare una toolchain che estrae il codice sorgente da un repository e quindi crea e distribuisce la tua applicazione o lavoro. Ogni volta che aggiorni il codice sorgente nel repository, la toolchain estrae automaticamente il tuo codice aggiornato e quindi crea e ridistribuisce la tua applicazione o il tuo lavoro.
Prima di iniziare
Prima di iniziare con le toolchain,
-
Crea o identifica un progettoCode Engine. Puoi creare queste risorse utilizzando la console o la CLI. Per ulteriori informazioni, vedi ProgettiCode Engine.
-
Crea o identifica un'istanza del servizio Continuous Delivery.
-
Crea o identifica uno spazio dei nomi IBM Cloud Container Registry. Per ulteriori informazioni sulla creazione di uno spazio dei nomi, vedi il servizio IBM Cloud Container Registry.
Configurazione dell'accesso per la tua toolchain
Se vuoi creare e distribuire un'app o un lavoro con una toolchain, imposta le seguenti autorizzazioni in IAM.
IBM Cloud Container Registry
- Lettore: per estrarre l'immagine dal registro del contenitore.
- Writer: per inviare l'immagine creata allo spazio dei nomi di destinazione.
- Gestore: per creare lo spazio dei nomi specificato, se non esiste.
- Amministratore: per creare un ID servizio, le politiche e una chiave API necessari per configurare un segreto di registro Code Engine da utilizzare per l'app o il lavoro.
Code Engine
- Editor: per accedere a un progetto Code Engine o per crearne uno, se non esiste.
- Writer: per gestire applicazioni, lavori e segreti all'interno del progetto Code Engine.
Gruppo di risorse:
- Visualizzatore: per visualizzare il gruppo di risorse in cui si trova il progetto Code Engine.
Se vuoi che la tua applicazione esegua il bind di un altro servizio IBM Cloud, devi impostare le seguenti autorizzazioni aggiuntive.
Tutti i servizi abilitati per Identity and Access
- Amministratore: per creare un ID servizio, politiche e chiave API per configurare un segreto di accesso al servizio Code Engine, che viene utilizzato per mantenere le credenziali del servizio per collegare i singoli servizi a un lavoro o a un'applicazione Code Engine.
Creazione di una toolchain
Puoi creare una toolchain dalla pagina Toolchain selezionando Crea toolchain e quindi scegliendo il template Code Engine. Vuoi provare un tutorial? Vedi Sviluppa e distribuisci un'applicazione utilizzando Code Engine.
Opzioni Code Engine nella tua toolchain
Puoi impostare le seguenti opzioni per la tua toolchain Code Engine modificando il tuo ci-pipeline Configuration e selezionando Environment properties.
| Opzione | Descrizione |
|---|---|
apikey |
La chiave API IBM Cloud utilizzata per questa toolchain. |
app-concurrency |
Il numero massimo di richieste che possono essere elaborate simultaneamente per istanza. Il valore predefinito è 100. |
app-deployment-timeout |
La quantità di tempo, in secondi, che può trascorrere prima che la build abbia esito positivo o negativo. |
app-health-endpoint |
L'endpoint di integrità dell'applicazione, ad esempio /health. |
app-max-scale |
Numero massimo di istanze che è possibile utilizzare per questa applicazione. Se si imposta questo valore su 0, l'applicazione si ridimensiona secondo le necessità. La scalabilità dell'applicazione è limitata solo dalle istanze
per la quota di risorse per il progetto dell'applicazione. Vedi Limiti e quote per Code Engine. Il valore predefinito è 10. |
app-min-scale |
Il numero minimo di istanze che è possibile utilizzare per questa applicazione. Questa opzione è utile per garantire che nessuna istanza sia in esecuzione quando non è necessaria. Questo valore è facoltativo. Il valore predefinito è 0. |
app-name |
Il nome dell'applicazione. Utilizzare un nome univoco all'interno del progetto. |
app-port |
La porta su cui l'applicazione ascolta le connessioni in entrata. Il formato è [NAME:]PORT, dove [NAME:] è facoltativo. Se si specifica [NAME:], i valori validi sono h2c o http1.
Per impostazione predefinita, Code Engine assume che le applicazioni siano in attesa di connessioni in entrata sulla porta 8080. |
app-visibility |
La visibilità per l'applicazione. I valori validi sono public, private e project. L'impostazione di una visibilità di public significa che la tua applicazione può ricevere richieste da
internet pubblico o da componenti all'interno di un progetto Code Engine. Consultare Opzioni per la visibilità per un'applicazione Code Engine. |
branch |
Il ramo del repository che contiene il file buildpacks o il file Docker. Il valore predefinito è main. |
build-size |
La dimensione della build, che determina la quantità di risorse utilizzate. I valori validi sono small, medium, large, xlarge e xxlarge. Per i dettagli, consultare Determinazione della dimensione della build. |
build-strategy |
La strategia da utilizzare per il build dell'immagine. I valori validi sono dockerfile e buildpacks. |
build-timeout |
La quantità di tempo, in secondi, che può trascorrere prima che l'esecuzione della build abbia esito positivo o negativo. L'impostazione predefinita è 1200 secondi. |
build-use-native-docker |
Proprietà facoltativa da scegliere per l'utilizzo delle funzionalità di build Docker native invece della build Code Engine per inserire in un contenitore l'origine. È possibile selezionare questo valore solo se build-strategy è impostato su dockerfile. I valori validi sono true e false. |
code-engine-project |
Il progetto che contiene questa applicazione. |
cpu |
La quantità di CPU impostata per l'istanza dell'applicazione. Per i valori validi, consultare Combinazioni di memoria e CPU supportate. Il valore predefinito è 1. |
deployment-type |
Specifica il tipo di distribuzione. I valori validi sono application e job. |
ephemeral-storage |
La quantità di archiviazione effimera da impostare per l'istanza dell'applicazione. Utilizzare M per i megabyte o G per i gigabyte. |
git-token |
Il token di accesso per il repository Git. |
image-name |
Il nome dell'immagine utilizzata per questa applicazione. Il formato è REGISTRY/NAMESPACE/REPOSITORY:TAG, dove REGISTRY e TAG sono facoltativi. Se REGISTRY non è specificato, il valore
predefinito è docker.io. Se TAG non è specificato, il valore predefinito è latest. |
memory |
La quantità di memoria impostata per l'istanza dell'applicazione. Utilizzare M per megabyte o G per gigabyte. Per i valori validi, consultare Combinazioni di memoria e CPU supportate.
Il valore predefinito è 4G. |
path-to-context |
La directory nel repository che contiene il file buildpacks o il Dockerfile. |
path-to-dockerfile |
Il percorso al Dockerfile. Specificare questa opzione solo se il nome è diverso da Dockerfile. |
pipeline-debug |
La modalità di debug della pipeline. Il valore può essere 0 o 1. Il valore predefinito è 0. |
region |
La regione dove si trova il progetto Code Engine. |
registry-namespace |
Lo spazio dei nomi del registro del contenitore che archivia l'immagine creata. |
registry-region |
La regione del registro del contenitore. |
resource-group |
Il gruppo di risorse contenente il progetto Code Engine. |
service-bindings |
Il bind del servizio che associa un'istanza del servizio IBM Cloud a una applicazione. Questo valore è nel formato "{"<SERVICE_INSTANCE_NAME>": "<BINDING_PREFIX>"}".
Ad esempio, "{"object-store-rg-e": "CLOUD_OBJECT_STORAGE"}. Questo valore deve essere in base64. |
Per ulteriori opzioni, vedi Proprietà dell'ambiente per la tua pipeline nelle impostazioni della tua toolchain.
Risoluzione dei problemi della toolchain
Risolvi i problemi della tua toolchain Code Engine con i seguenti argomenti.