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,

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.

Opzioni diCode Engine nella toolchain
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 "{&quot;<SERVICE_INSTANCE_NAME>&quot;: &quot;<BINDING_PREFIX>&quot;}". Ad esempio, "{&quot;object-store-rg-e&quot;: &quot;CLOUD_OBJECT_STORAGE&quot;}. 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.