Creazione di un'immagine contenitore con i comandi di build autonomi (CLI)
Quando il tuo codice esiste come origine in un file locale o in un repository Git, Code Engine ti fornisce le opzioni per creare il tuo codice come un'immagine del contenitore, secondo lo standard OCI(Open Container Initiative). Con la CLI Code Engine puoi creare un'immagine del contenitore con un singolo comando.
Code Engine offre la flessibilità di gestire il processo di build per te ogni volta che stai distribuendo la tua applicazione dal codice sorgente del repository, distribuendo la tua applicazione dal codice sorgente locale con la CLI o stai creando un lavoro dal codice sorgente del repository o creando il tuo lavoro dal codice sorgente locale con la CLI.
Tuttavia, se vuoi un maggiore controllo sulla build della tua immagine del contenitore, Code Engine ti offre la flessibilità di creare la tua immagine del contenitore utilizzando una delle seguenti opzioni:
- Utilizza un singolo comando CLI,
buildrun submit, per eseguire un'esecuzione di build. Il vantaggio di questa opzione è che puoi ottenere la tua build con un singolo comando CLI; tuttavia, la configurazione per la creazione non viene conservata. - Definire una configurazione di build da cui è possibile eseguire più esecuzioni di build. Vedi Creazione di un'immagine del contenitore utilizzando una configurazione di build.
Dopo che la tua build è completa e la tua immagine esiste, puoi distribuire l'immagine del contenitore come un'applicazione o creare un job che faccia riferimento alla tua immagine.
Impariamo come creare la tua immagine contenitore con un singolo comando e non fare riferimento a una configurazione di build. In questo scenario, IBM Cloud® Code Engine estrae il codice sorgente da un repository Git o da una directory locale, lo crea e quindi inserisce (carica) l'immagine del contenitore in un registro. Puoi scegliere repository pubblici o privati e registri. Puoi scegliere di specificare i dettagli di registro con un segreto di registro per il tuo output di build con accesso fornito dall'utente. In alternativa, puoi scegliere di consentire a Code Engine di creare l'immagine per te dalla tua origine e archiviarla in IBM Cloud Container Registry con accesso automatico.
È possibile scegliere di ignorare alcuni pattern di file dall'interno del codice origine utilizzando il file .ceignore, che si comporta in modo simile a un file .gitignore. Ad esempio, le voci per un file .ceignore per un'applicazione node.js potrebbero includere node_modules e .npm. Per ulteriori modelli di file di esempio da ignorare, vedi GitHub.gitignore repository.
Considera i seguenti punti prima di creare la tua immagine del contenitore:
-
Prima di iniziare a creare le immagini, esamina le informazioni di pianificazione. Dovrai anche verificare di poter accedere al registro. Consultare Impostazione delle autorizzazioni per i registri dei contenitori.
-
Se crei più versioni della stessa immagine del contenitore, la versione più recente dell'immagine del contenitore viene scaricata e utilizzata quando esegui il tuo lavoro o distribuisci la tua applicazione, a meno che non venga specificata una tag per l'immagine. Se viene specificata una tag per l'immagine, l'immagine con tag viene utilizzata per l'app o il lavoro.
-
Anche le esecuzioni di build inoltrate con la CLI che non fanno riferimento a una configurazione di build definita sono visualizzabili dalla console. Dalla pagina del progetto, fare clic su Build di immagini per visualizzare l'elenco di build di immagini ed esecuzioni di build. Con la CLI, utilizza il comando
ibmcloud ce buildrun listper visualizzare un elenco di tutte le esecuzioni di build in un progetto. -
Code Engine ha quote per le esecuzioni di build all'interno di un progetto. Per ulteriori informazioni sui limiti di Code Engine, consulta Limiti e quote per Code Engine.
Le esecuzioni di build completate vengono infine eliminate automaticamente. Quando esegui un'esecuzione di build con un singolo comando CLI in modo che non sia basato su una configurazione di build, questa esecuzione di build viene eliminata dopo 1 ora se l'esecuzione di build ha esito positivo. Se l'esecuzione della build non ha esito positivo, questa esecuzione della build viene eliminata dopo 24 ore. È possibile visualizzare solo le informazioni su questa esecuzione di build con la CLI. Non è possibile visualizzare questa esecuzione di build nella console.
Esecuzione di una singola build che estrae l'origine dal repository pubblico con la CLI
Se la tua origine si trova in un repository pubblico e vuoi utilizzare un singolo comando per creare ed emettere un'immagine del contenitore, utilizza il comando buildrun submit per creare l'immagine del contenitore
senza creare una configurazione di build riutilizzabile.
Per l'output della build, puoi scegliere l' accesso automatico e lasciare che Code Engine si occupi di creare l'immagine per te dalla tua origine e archiviarla in IBM Cloud Container Registry. In questo caso, non è necessario specificare un segreto del Registro di sistema o l'ubicazione del Registro immagini. In alternativa, puoi scegliere accesso fornito dall'utente e specificare i dettagli del registro insieme a un segreto del registro per accedere alla tua immagine creata nel registro.
Per un elenco completo delle opzioni per l'esecuzione di una singola build, consultare il comando ibmcloud ce buildrun submit.
Esecuzione di una singola build con la CLI (con origine del repository pubblico e accesso automatico al registro)
In questo scenario di accesso automatico, Code Engine crea un'immagine dall'origine del tuo repository Git pubblico e carica l'immagine in IBM Cloud Container Registry con accesso automatico utilizzando le opzioni di build con il
comando buildrun submit. In questo caso, non è necessario specificare un segreto del Registro di sistema o l'ubicazione del registro delle immagini.
Consulta Configurazione delle autorizzazioni per i registri di immagini per ulteriori informazioni sull'impostazione delle autorizzazioni richieste per Code Engine per accedere automaticamente a queste immagini in Container Registry.
Prima di iniziare
-
Esegui una build per creare un'immagine da un repository Git pubblico e lascia che Code Engine memorizzi e acceda automaticamente all'immagine. Ad esempio, il seguente comando
buildrun submitesegue un'esecuzione di build denominatahelloworld-buildrunche crea dall'origine nel Git Githttps://github.com/IBM/CodeEnginepubblico.ibmcloud ce buildrun submit --name helloworld-buildrun --source https://github.com/IBM/CodeEngine --context-dir /hello- In questo esempio, il comando utilizza la strategia
dockerfilepredefinita e la dimensione di buildmediumpredefinita. - Poiché il nome del ramo del repository non è specificato con l'opzione
--commit, Code Engine utilizza automaticamente il ramo predefinito del repository specificato, che èmainper questo repository Git. - Non specificando l'ubicazione del registro delle immagini o un segreto del Registro di sistema, Code Engine invia l'output di build a IBM Cloud Container Registry con accesso automatico.
- Code Engine determina automaticamente se la tua origine risiede in un repository o su una workstation locale, in base al valore dell'opzione
--source.
Output di esempio
Submitting build run 'helloworld-buildrun'... Creating image 'private.us.icr.io/ce--12ce3-defg4h5ij6d/buildrun-helloworld-buildrun'... Run 'ibmcloud ce buildrun get -n helloworld-buildrun' to check the build run status. OKLa seguente tabella riepiloga le opzioni utilizzate con il comando
buildrun submitin questo esempio. Per ulteriori informazioni sul comando e le sue opzioni, consultare il comandoibmcloud ce buildrun submit.Descrizione del comando Opzione Descrizione --nameIl nome dell'esecuzione di build. Utilizzare un nome univoco all'interno del progetto.
- Il nome deve iniziare e terminare con una lettera minuscola.
- Il nome deve avere una lunghezza massima di 63 caratteri e può contenere caratteri alfanumerici minuscoli e trattini (-).
--sourceL'URL del repository Git o il percorso dell'origine locale che contiene il codice sorgente; ad esempio, https://github.com/IBM/CodeEngine.--context-dirLa directory nel repository che contiene il file buildpacks o il Dockerfile. Specifica questo valore se il tuo file dei pacchetti di build o Dockerfile è contenuto in una sottodirectory. - In questo esempio, il comando utilizza la strategia
-
Utilizzare il comando
buildrun getper controllare lo stato dell'esecuzione della build.ibmcloud ce buildrun get -n helloworld-buildrunOutput di esempio
Notare il nome generato per l'immagine e che il nome del segreto di registro creato automaticamente è nel formato,
ce-auto-icr-private-<region>.Getting build 'helloworld-buildrun' For troubleshooting information visit: https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-build. Run 'ibmcloud ce buildrun events -n helloworld-buildrun' to get the system events of the build run. Run 'ibmcloud ce buildrun logs -f -n helloworld-buildrun' to follow the logs of the build run. OK Name: helloworld-buildrun ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 2d15h Created: 2022-06-07T15:30:46-04:00 Build Type: git Summary: Succeeded Status: Succeeded Reason: All Steps have completed executing Source: Commit Branch: main Commit SHA: 946dd18f6e5a5474336786bc28d7dda93aec49c1 Commit Author: COMMIT_AUTHOR Image Digest: sha256:ba3c445a27238040e102c083f76ad8922effcc3a7c4dc97b8472e626d87c11a2 Image: private.us.icr.io/ce--12ce3-defg4h5ij6d/buildrun-helloworld-buildrun Registry Secret: ce-auto-icr-private-us-south Build Strategy: dockerfile-medium Timeout: 10m0s Source: https://github.com/IBM/CodeEngine Commit: main Context Directory: /hello Dockerfile: Dockerfile
Esecuzione di una singola build con la CLI (con l'origine del repository pubblico e l'accesso al registro fornito dall'utente)
In questo scenario di accesso fornito dall'utente, Code Engine crea un'immagine dall'origine del repository Git pubblico e quindi carica l'immagine sul registro del contenitore con l'accesso al registro che fornisci con un singolo comando di build.
Prima di iniziare
- Configura il tuo ambiente CLI Code Engine.
- Creare e utilizzare un progetto.
- Crea un segreto di registro in modo da poter salvare la tua immagine.
-
Esegui una build per creare un'immagine da un repository Git pubblico e specifica l'ubicazione del registro delle immagini per l'output di build con un segreto di registro. Ad esempio, il seguente comando
buildrun submitesegue un'esecuzione di build denominatahelloworld-buildrun2che crea dal repository Git pubblicohttps://github.com/IBM/CodeEnginee memorizza l'immagine nel registro dius.icr.io/mynamespace/codeengine-helloworldutilizzando il segreto di registromyregistryper accedere a questo registro.ibmcloud ce buildrun submit --name helloworld-buildrun2 --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry --source https://github.com/IBM/CodeEngine --context-dir /hello- In questo esempio, il comando utilizza la strategia
dockerfilepredefinita e la dimensione di buildmediumpredefinita. - Poiché il nome del ramo del repository non è specificato con l'opzione
--commit, Code Engine utilizza automaticamente il ramo predefinito del repository specificato, che èmainper questo repository Git. - Se si utilizza l'opzione
--strategycon il valoredockerfile, assicurarsi che l'opzione--dockerfilesia impostata correttamente sul nome didockerfile. Il valore predefinito per l'opzione--strategyèDockerfile. - Code Engine determina automaticamente se la tua origine risiede in un repository o su una workstation locale, in base al valore dell'opzione
--source.
Output di esempio
Submitting build run 'helloworld-buildrun2'... Creating image 'us.icr.io/mynamespace/codeengine-helloworld'... Run 'ibmcloud ce buildrun get -n helloworld-buildrun2' to check the build run status. OKLa seguente tabella riepiloga le opzioni utilizzate con il comando
buildrun submitin questo esempio. Per ulteriori informazioni sul comando e le sue opzioni, consultare il comandoibmcloud ce buildrun submit.Descrizione del comando Opzione Descrizione --nameIl nome dell'esecuzione di build. Utilizzare un nome univoco all'interno del progetto. Questo valore è obbligatorio.
- Il nome deve iniziare e terminare con una lettera minuscola.
- Il nome deve essere di 63 caratteri o meno e può contenere caratteri alfanumerici minuscoli e trattini (-).
--imageL'ubicazione del registro immagini. Il formato dell'ubicazione deve essere REGISTRY/NAMESPACE/REPOSITORYoREGISTRY/NAMESPACE/REPOSITORY:TAGdoveTAGè facoltativo. SeTAGnon è specificato, il valore predefinito èlatest.--registry-secretIl segreto di registro utilizzato per accedere al registro quando crei l'immagine del contenitore. Eseguire il comando secret create --format registryper creare un segreto del Registro di sistema. Il segreto del Registro di sistema viene utilizzato per autenticarsi con un registro privato.--sourceL'URL del repository Git o il percorso dell'origine locale che contiene il codice sorgente; ad esempio, https://github.com/IBM/CodeEngine.--context-dirLa directory nel repository che contiene il file buildpacks o il Dockerfile. Specifica questo valore se il tuo file dei pacchetti di build o Dockerfile è contenuto in una sottodirectory. - In questo esempio, il comando utilizza la strategia
-
Utilizzare il comando
buildrun getper controllare lo stato dell'esecuzione della build.ibmcloud ce buildrun get --name helloworld-buildrun2Output di esempio
Getting build run 'helloworld-buildrun2'... For troubleshooting information visit: https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-build. Run 'C:\Program Files\IBM\Cloud\bin\ibmcloud.exe ce buildrun events -n helloworld-buildrun2' to get the system events of the build run. Run 'C:\Program Files\IBM\Cloud\bin\ibmcloud.exe ce buildrun logs -f -n helloworld-buildrun2' to follow the logs of the build run. OK Name: helloworld-buildrun2 ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 2d15h Created: 2022-06-07T15:57:43-04:00 Build Type: git Summary: Succeeded Status: Succeeded Reason: All Steps have completed executing Source: Commit Branch: main Commit SHA: 946dd18f6e5a5474336786bc28d7dda93aec49c1 Commit Author: COMMIT_AUTHOR Image Digest: sha256:6312ee613efa5bec7baa20c47f607e7f15473947d5675fd7384491bee8023afc Image: us.icr.io/mynamespace/codeengine-helloworld2 Registry Secret: myregistry Build Strategy: dockerfile-medium Timeout: 10m0s Source: https://github.com/IBM/CodeEngine Context Directory: /hello Dockerfile: Dockerfile
Se si riceve un errore di convalida del comando, verificare che il segreto esista. Se fai riferimento a un segreto del Registro di sistema (--registry-secret) per la tua immagine e il segreto non esiste, vedi Accesso ai registri del contenitore.
Per ulteriori informazioni sulle build, consulta i suggerimenti per la risoluzione dei problemi.
Esecuzione di una singola build che estrae l'origine dal repository privato con la CLI
Se l'origine si trova in un repository privato e si desidera utilizzare un singolo comando per creare ed emettere un'immagine del contenitore, utilizzare il comando buildrun submit per creare l'immagine del contenitore
senza creare una configurazione di build riutilizzabile.
Per l'output della build, puoi scegliere l' accesso automatico e lasciare che Code Engine si occupi di creare l'immagine per te dalla tua origine e archiviarla in IBM Cloud Container Registry. In questo caso, non è necessario specificare un segreto del Registro di sistema o l'ubicazione del Registro immagini. In alternativa, puoi scegliere accesso fornito dall'utente e specificare i dettagli del registro insieme a un segreto del registro per accedere alla tua immagine creata nel registro.
Per un elenco completo delle opzioni per l'esecuzione di una singola build, consultare il comando ibmcloud ce buildrun submit.
Esecuzione di una singola build con la CLI (con origine del repository privato e accesso automatico al registro)
In questo scenario di accesso automatico, Code Engine crea un'immagine dalla tua origine del repository privata e carica l'immagine in IBM Cloud Container Registry con accesso automatico utilizzando le opzioni di build con il comando
buildrun submit. In questo caso, non è necessario specificare un segreto del Registro di sistema o l'ubicazione del registro delle immagini.
Consulta Configurazione delle autorizzazioni per i registri di immagini per ulteriori informazioni sull'impostazione delle autorizzazioni richieste per Code Engine per accedere automaticamente a queste immagini in Container Registry.
Prima di iniziare
- Configura il tuo ambiente CLI Code Engine.
- Creare e utilizzare un progetto.
- Crea un segreto repository Git per accedere alla tua origine.
-
Esegui una build per creare una immagine da un repository privato e lascia che Code Engine memorizzi e acceda automaticamente all'immagine. Ad esempio, il seguente comando
buildrun submitesegue un'esecuzione di build denominatahelloworld-buildrun-privateche crea dal repository Git privatohttps://github.com/myprivaterepo/builds.ibmcloud ce buildrun submit --name helloworld-buildrun-private --source git@github.com:myprivaterepo/builds.git --context-dir /hello --strategy buildpacks --git-repo-secret myrepossh- Questo comando di esempio utilizza la strategia
buildpackse la dimensione di buildmedium. - Non specificando l'ubicazione del registro delle immagini o un segreto del Registro di sistema, Code Engine invia l'output di build a IBM Cloud Container Registry con accesso automatico.
- Poiché l'origine nel repository Git specificato è privata, l'accesso richiede un segreto SSH. Un segreto SSH viene utilizzato anche come segreto di accesso al repository Git. Di conseguenza, il
--sourceche specifichi deve utilizzare il protocollo SSH, come ad esempiogit@github.com:myprivaterepo/builds.git. Il valore per--sourcenon deve utilizzare il formatohttpohttps. - Poiché il nome del ramo del repository non viene specificato con l'opzione
--commit, Code Engine utilizza automaticamente il ramo predefinito del repository specificato. - Code Engine determina automaticamente se la tua origine risiede in un repository o su una workstation locale, in base al valore dell'opzione
--source.
La seguente tabella riepiloga le opzioni utilizzate con il comando
buildrun submitin questo esempio. Per ulteriori informazioni sul comando e le sue opzioni, consultare il comandoibmcloud ce buildrun submit.Descrizione del comando Opzione Descrizione --nameIl nome dell'esecuzione di build. Utilizzare un nome univoco all'interno del progetto. Questo valore è obbligatorio.
- Il nome deve iniziare e terminare con una lettera minuscola.
- Il nome deve essere di 63 caratteri o meno e può contenere caratteri alfanumerici minuscoli e trattini (-).
--sourceL'URL del repository Git o il percorso dell'origine locale che contiene il codice sorgente; ad esempio, git@github.com:myprivaterepo/builds.git.--context-dirLa directory nel repository che contiene il file buildpacks o il Dockerfile. Specifica questo valore se il tuo file dei pacchetti di build o Dockerfile è contenuto in una sottodirectory. --strategyLa strategia da utilizzare per il build dell'immagine. I valori validi sono dockerfileebuildpacks.--git-repo-secretIl nome del segreto SSH, contenente le credenziali per accedere al repository privato che contiene il codice sorgente per creare la propria immagine del contenitore. Eseguire il comando secret create --sshper creare questo segreto. Un segreto SSH viene utilizzato anche come segreto di accesso al repository Git. - Questo comando di esempio utilizza la strategia
-
Utilizzare il comando
buildrun getper controllare lo stato dell'esecuzione della build.ibmcloud ce buildrun get --name helloworld-buildrun-privateOutput di esempio
Getting build run 'helloworld-buildrun-private'... For troubleshooting information visit: https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-build. Run 'ibmcloud ce buildrun events -n helloworld-buildrun-private' to get the system events of the build run. Run 'ibmcloud ce buildrun logs -f -n helloworld-buildrun-private' to follow the logs of the build run. OK Name: helloworld-buildrun-private ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 2d15h Created: 2022-06-08T06:02:36-05:00 Build Type: git Summary: Succeeded Status: Succeeded Reason: All Steps have completed executing Source: Commit Branch: main Commit SHA: 946dd18f6e5a5474336786bc28d7dda93aec49c1 Commit Author: COMMIT_AUTHOR Image Digest: sha256:39c4a87bc43102c2ee88562072c57c135b8dcc5cc4a1104e1d782fe3acc5d5b6 Image: private.us.icr.io/ce--e97a8-odof2whblw5/build-helloworld-buildrun-private Registry Secret: ce-auto-icr-private-us-south Build Strategy: buildpacks-v3-medium Timeout: 10m0s Source: git@github.com:myprivaterepo/builds.git Context Directory: /hello Repo Secret: myrepossh
Esecuzione di una singola build con la CLI (con origine del repository privato e accesso fornito dall'utente al registro)
In questo scenario di accesso fornito dall'utente, Code Engine crea un'immagine dalla tua origine del repository privata con un segreto del repository Git che fornisci e quindi carica l'immagine sul tuo registro del contenitore con l'accesso al registro che fornisci con un singolo comando di build.
Prima di iniziare
- Configura il tuo ambiente CLI Code Engine.
- Creare e utilizzare un progetto.
- Crea un segreto SSH per accedere alla tua origine.
- Crea un segreto di registro in modo da poter salvare la tua immagine.
-
Esegui una build per creare un'immagine da un repository privato e specifica l'ubicazione del registro delle immagini per l'output di build con un segreto di registro. Il seguente esempio di comando
buildrun submitesegue un'esecuzione di build denominatahelloworld-buildrun-private2che crea dal repository Git privatohttps://github.com/myprivaterepo/buildse memorizza l'immagine inus.icr.io/mynamespace/codeengine-helloworldutilizzando il segreto del registromyregistryper accedere a questo registro.ibmcloud ce buildrun submit --name helloworld-buildrun-private2 --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry --source git@github.com:myprivaterepo/builds.git --context-dir /hello --strategy buildpacks --git-repo-secret myrepossh- Questo comando di esempio utilizza la strategia
buildpackse la dimensione di buildmediumpredefinita. - Poiché il repository Git fornito è privato, l'accesso richiede un segreto SSH. Un segreto SSH viene utilizzato anche come segreto di accesso al repository Git. Di conseguenza, il
--sourceche specifichi deve utilizzare il protocollo SSH, come ad esempiogit@github.com:myprivaterepo/builds.git. Il valore per--sourcenon deve utilizzare il formatohttpohttps. - Poiché il nome del ramo del repository non viene specificato con l'opzione
--commit, Code Engine utilizza automaticamente il ramo predefinito del repository specificato. - Code Engine determina automaticamente se la tua origine risiede in un repository o su una workstation locale, in base al valore dell'opzione
--source.
La seguente tabella riepiloga le opzioni utilizzate con il comando
buildrun submitin questo esempio. Per ulteriori informazioni sul comando e le sue opzioni, consultare il comandoibmcloud ce buildrun submit.Descrizione del comando Opzione Descrizione --nameIl nome dell'esecuzione di build. Utilizzare un nome univoco all'interno del progetto. Questo valore è obbligatorio.
- Il nome deve iniziare e terminare con una lettera minuscola.
- Il nome deve essere di 63 caratteri o meno e può contenere caratteri alfanumerici minuscoli e trattini (-).
--imageL'ubicazione del registro immagini. Il formato dell'ubicazione deve essere REGISTRY/NAMESPACE/REPOSITORYoREGISTRY/NAMESPACE/REPOSITORY:TAGdoveTAGè facoltativo. SeTAGnon è specificato, il valore predefinito èlatest.--registry-secretIl segreto di registro utilizzato per accedere al registro quando crei l'immagine del contenitore. Eseguire il comando secret create --format registryper creare un segreto del Registro di sistema. Il segreto del Registro di sistema viene utilizzato per autenticarsi con un registro privato.--sourceL'URL del repository Git o il percorso dell'origine locale che contiene il codice sorgente; ad esempio, git@github.com:myprivaterepo/builds.git.--context-dirLa directory nel repository che contiene il file buildpacks o il Dockerfile. Specifica questo valore se il tuo file dei pacchetti di build o Dockerfile è contenuto in una sottodirectory. --strategyLa strategia da utilizzare per il build dell'immagine. I valori validi sono dockerfileebuildpacks.--git-repo-secretIl nome del segreto SSH, contenente le credenziali per accedere al repository privato che contiene il codice sorgente per creare la propria immagine del contenitore. Eseguire il comando secret create --sshper creare questo segreto. Un segreto SSH viene utilizzato anche come segreto di accesso al repository Git. - Questo comando di esempio utilizza la strategia
-
Utilizzare il comando
buildrun getper controllare lo stato dell'esecuzione della build.ibmcloud ce buildrun get --name helloworld-buildrun-private2Output di esempio
Getting build run 'helloworld-buildrun-private2'... For troubleshooting information visit: https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-build. Run 'ibmcloud ce buildrun events -n helloworld-buildrun-private2' to get the system events of the build run. Run 'ibmcloud ce buildrun logs -f -n helloworld-buildrun-private2' to follow the logs of the build run. OK Name: helloworld-buildrun-private2 ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 2d10h Created: 2022-06-08T06:11:05-05:00 Build Type: git Summary: Succeeded Status: Succeeded Reason: All Steps have completed executing Source: Commit Branch: main Commit SHA: 946dd18f6e5a5474336786bc28d7dda93aec49c1 Commit Author: COMMIT_AUTHOR Image Digest: sha256:39c4a87bc43102c2ee88562072c57c135b8dcc5cc4a1104e1d782fe3acc5d5b6 Image: us.icr.io/mynamespace/codeengine-helloworld Registry Secret: myregistry Build Strategy: buildpacks-v3-medium Timeout: 10m0s Source: git@github.com:myprivaterepo/builds.git Context Directory: /hello Repo Secret: myrepossh
Esecuzione di una singola build che estrae l'origine da una directory locale
Se l'origine si trova sulla workstation locale e si desidera utilizzare un singolo comando per creare ed emettere un'immagine del contenitore, utilizzare il comando buildrun submit per creare l'immagine del contenitore
senza creare una configurazione di build riutilizzabile.
Per l'output della build, puoi scegliere l' accesso automatico e lasciare che Code Engine si occupi di creare l'immagine per te dalla tua origine e archiviarla in IBM Cloud Container Registry. In questo caso, non è necessario specificare un segreto del Registro di sistema o l'ubicazione del Registro immagini. In alternativa, puoi scegliere accesso fornito dall'utente e specificare i dettagli del registro insieme a un segreto del registro per accedere alla tua immagine creata nel registro.
Quando invii una build che estrae il codice da una directory locale, il codice sorgente viene compresso in un file di archivio e caricato nella tua istanza IBM Cloud Container Registry. Nota che puoi indicare come destinazione solo IBM Cloud Container Registry per le tue build locali. L'immagine di origine viene creata nello stesso spazio nomi della tua immagine di creazione.
È possibile scegliere di ignorare alcuni pattern di file dall'interno del codice origine utilizzando il file .ceignore, che si comporta in modo simile a un file .gitignore. Ad esempio, le voci per un file .ceignore per un'applicazione node.js potrebbero includere node_modules e .npm. Per ulteriori modelli di file di esempio da ignorare, vedi GitHub.gitignore repository.
Per un elenco completo delle opzioni per l'esecuzione di una singola build, consultare il comando ibmcloud ce buildrun submit.
Esecuzione di una singola build con la CLI (con origine locale e accesso automatico al registro)
In questo scenario di accesso automatico, Code Engine crea un'immagine dalla tua origine locale e carica automaticamente l'immagine in IBM Cloud Container Registry con accesso automatico utilizzando le opzioni di build con il comando
buildrun submit.
Consulta Configurazione delle autorizzazioni per i registri di immagini per ulteriori informazioni sull'impostazione delle autorizzazioni richieste per Code Engine per accedere automaticamente a queste immagini in Container Registry. In questo caso, non è necessario specificare un segreto del Registro di sistema o l'ubicazione del registro delle immagini.
Prima di iniziare
Prima di lavorare con l'origine locale, verificare che l'origine si trovi in un'ubicazione accessibile sulla stazione di lavoro locale.
Questo esempio utilizza gli esempi https://github.com/IBM/CodeEngine ; in particolare, l'esempio helloworld.
-
Scarica l'origine di esempio
https://github.com/IBM/CodeEnginesulla tua workstation locale con il seguente comando.git clone https://github.com/IBM/CodeEngine -
Passare alla directory
CodeEngine\helloworld. -
Dalla directory
CodeEngine\helloworld, esegui una build per creare un'immagine dall'originehelloworldsulla tua workstation locale e lascia che Code Engine memorizzi e acceda automaticamente all'immagine. Questo comando crea e invia automaticamente l'immagine a uno spazio dei nomi Container Registry nel tuo account. Se non hai uno spazio dei nomi Container Registry esistente, Code Engine ne crea automaticamente uno per te. Ad esempio, il seguente comandobuildrun submitesegue un'esecuzione di build denominatabuildrun-local-dockerfileche esegue la build dall'origine locale.ibmcloud ce buildrun submit --name buildrun-local-dockerfile --source ..indica che l'origine build si trova nella directory di lavoro corrente.- Questo esempio di comando utilizza la strategia
dockerfilepredefinita e la dimensione di buildmediumpredefinita. - Non specificando l'ubicazione del registro delle immagini o un segreto del Registro di sistema, Code Engine invia l'output di build a IBM Cloud Container Registry con accesso automatico.
- Code Engine determina automaticamente se la tua origine risiede in un repository o su una workstation locale, in base al valore dell'opzione
--source.
Output di esempio
Packaging files to upload from source path '.'... Submitting build run 'buildrun-local-dockerfile'... Creating image 'private.us.icr.io/ce--27fe9-glxo4k7nj7d/buildrun-buildrun-local-dockerfile'... Run 'ibmcloud ce buildrun get -n buildrun-local-dockerfile' to check the build run status. OKLa seguente tabella riepiloga le opzioni utilizzate con il comando
buildrun submitin questo esempio. Per ulteriori informazioni sul comando e le sue opzioni, consultare il comandoibmcloud ce buildrun submit.Descrizione del comando Opzione Descrizione --nameIl nome dell'esecuzione di build. Utilizzare un nome univoco all'interno del progetto. Questo valore è obbligatorio.
- Il nome deve iniziare e terminare con una lettera minuscola.
- Il nome deve essere di 63 caratteri o meno e può contenere caratteri alfanumerici minuscoli e trattini (-).
--sourceIl percorso dell'origine locale che contiene il codice sorgente o l'URL del repository Git ; ad esempio, .. - Questo esempio di comando utilizza la strategia
-
Utilizzare il comando
buildrun getper controllare lo stato dell'esecuzione della build.ibmcloud ce buildrun get --name buildrun-local-dockerfileOutput di esempio
Getting build run 'buildrun-local-dockerfile'... For troubleshooting information visit: https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-build. Run 'C:\Program Files\IBM\Cloud\bin\ibmcloud.exe ce buildrun events -n buildrun-local-dockerfile' to get the system events of the build run. Run 'C:\Program Files\IBM\Cloud\bin\ibmcloud.exe ce buildrun logs -f -n buildrun-local-dockerfile' to follow the logs of the build run. OK Name: buildrun-local-dockerfile ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 2d15h Created: 2022-06-07T16:09:34-04:00 Build Type: local Summary: Succeeded Status: Succeeded Reason: All Steps have completed executing Source: Source Image Digest: sha256:ced7abc34f018941145efb56e9a0c1fca99236653c2a05dd5b8b985928ff5f4f Image Digest: sha256:6459430ff49436494aa5e3103eaac98ad90ea50df88a2e14af6314fe88f3c952 Image: private.us.icr.io/ce--27fe9-glxo4k7nj7d/buildrun-buildrun-local-dockerfile Registry Secret: ce-auto-icr-private-us-south Build Strategy: dockerfile-medium Timeout: 10m0s Source Image: private.us.icr.io/ce--27fe9-glxo4k7nj7d/buildrun-buildrun-local-dockerfile-source Source Registry Secret: ce-auto-icr-private-us-south Dockerfile: DockerfileNotare il nome generato per l'immagine e che il nome del segreto di registro creato automaticamente è nel formato,
ce-auto-icr-private-<region>.
Esecuzione di una singola build con la CLI (con l'origine locale e l'accesso fornito dall'utente al registro)
In questo scenario di accesso fornito dall'utente, Code Engine crea un'immagine dalla tua origine locale e quindi carica l'immagine sul tuo registro del contenitore con l'accesso al registro che fornisci con il comando buildrun submit.
Prima di iniziare
- Configura il tuo ambiente CLI Code Engine.
- Creare e utilizzare un progetto.
- Crea un segreto di registro in modo da poter salvare la tua immagine.
Prima di lavorare con l'origine locale, verificare che l'origine si trovi in un'ubicazione accessibile sulla stazione di lavoro locale.
Questo esempio utilizza gli esempi https://github.com/IBM/CodeEngine ; in particolare, l'esempio helloworld.
-
Scarica l'origine di esempio
https://github.com/IBM/CodeEnginesulla tua workstation locale con il seguente comando.git clone https://github.com/IBM/CodeEngine -
Passare alla directory
CodeEngine\helloworld. -
Dalla directory
CodeEngine\helloworld, eseguire un'esecuzione di build per creare un'immagine dall'originehelloworldsulla workstation locale e specificare l'ubicazione del registro delle immagini per l'output di build con un segreto di registro. Questo comandobuildrun submitcrea e inserisce automaticamente l'immagine nel registro che specifichi con l'opzione--image. Specificare l'opzione--registry-secretper accedere al registro.ibmcloud ce buildrun submit --name buildrun-local-dockerfile2 --source . --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry.indica che l'origine build si trova nella directory di lavoro corrente.- Code Engine determina automaticamente se la tua origine risiede in un repository o su una workstation locale, in base al valore dell'opzione
--source. - In questo esempio, il comando utilizza la strategia
dockerfilepredefinita e la dimensione di buildmediumpredefinita.
La seguente tabella riepiloga le opzioni utilizzate con il comando
buildrun submitin questo esempio. Per ulteriori informazioni sul comando e le sue opzioni, consultare il comandoibmcloud ce buildrun submit.Descrizione del comando Opzione Descrizione --nameIl nome dell'esecuzione di build. Utilizzare un nome univoco all'interno del progetto. Questo valore è obbligatorio.
- Il nome deve iniziare e terminare con una lettera minuscola.
- Il nome deve essere di 63 caratteri o meno e può contenere caratteri alfanumerici minuscoli e trattini (-).
--sourceIl percorso dell'origine locale che contiene il codice sorgente o l'URL del repository Git ; ad esempio, ..--imageL'ubicazione del registro immagini. Il formato dell'ubicazione deve essere REGISTRY/NAMESPACE/REPOSITORYoREGISTRY/NAMESPACE/REPOSITORY:TAGdoveTAGè facoltativo. SeTAGnon è specificato, il valore predefinito èlatest.--registry-secretIl segreto di registro utilizzato per accedere al registro quando crei l'immagine del contenitore. Eseguire il comando secret create --format registryper creare un segreto del Registro di sistema. Il segreto del Registro di sistema viene utilizzato per autenticarsi con un registro privato. - Code Engine determina automaticamente se la tua origine risiede in un repository o su una workstation locale, in base al valore dell'opzione
-
Utilizzare il comando
buildrun getper controllare lo stato dell'esecuzione della build.ibmcloud ce buildrun get --name buildrun-local-dockerfile2Output di esempio
Getting build run 'buildrun-local-dockerfile2'... For troubleshooting information visit: https://cloud.ibm.com/docs/codeengine?topic=codeengine-troubleshoot-build. Run 'C:\Program Files\IBM\Cloud\bin\ibmcloud.exe ce buildrun events -n buildrun-local-dockerfile2' to get the system events of the build run. Run 'C:\Program Files\IBM\Cloud\bin\ibmcloud.exe ce buildrun logs -f -n buildrun-local-dockerfile2' to follow the logs of the build run. OK Name: buildrun-local-dockerfile2 ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 2d15h Created: 2022-06-07T16:34:42-04:00 Build Type: local Summary: Succeeded Status: Succeeded Reason: All Steps have completed executing Source: Source Image Digest: sha256:00fb80a8cdc17394ccae564efceb81f48c2cbcbd76afd0fb0b74019352933a63 Image Digest: sha256:25bc4bedccc1b34c98ccd92368246df3e61a7cf0cf4915a32f111669b60e2fea Image: us.icr.io/mynamespace/codeengine-helloworld Registry Secret: myregistry Build Strategy: dockerfile-medium Timeout: 10m0s Source Image: us.icr.io/mynamespace/codeengine-helloworld-source Source Registry Secret: myregistry Dockerfile: Dockerfile
Passi successivi per le build
Ora che hai creato un'immagine del contenitore dalla tua origine, puoi ora creare un'applicazione o un lavoro che utilizza la tua immagine del contenitore. Consultare Distribuzione delle applicazioni e Esecuzione dei lavori.
Cerchi altri esempi di codice? Consulta gli Esempi per il repository IBM Cloud Code Engine GitHub.