Crea una configurazione di build che estrae l'origine dal repository pubblico
Se la tua origine si trova in un repository pubblico, crea una configurazione di build con le impostazioni che includono informazioni su dove estrarre l'origine da un repository pubblico. Per l'output di build, puoi scegliere di specificare i dettagli del registro insieme a un segreto del registro per accedere alla tua immagine creata nel registro. Oppure puoi scegliere di consentire a Code Engine 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.
La creazione di una configurazione di build non crea un'immagine, bensì la configurazione per creare un'immagine. È necessario quindi eseguire una build che fa riferimento alla configurazione di build per creare una immagine. La configurazione di build non viene convalidata o utilizzata per creare un'immagine fino a quando non viene eseguita la build. La configurazione di build abilita più build successive di un'immagine, ad esempio quando le modifiche vengono applicate al repository di origine.
È possibile scegliere di ignorare alcuni pattern di file dall'interno del codice sorgente utilizzando il file .ceignore, che si comporta in modo simile a un file .gitignore. Ad esempio, le entrate 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.
Creazione di una configurazione di build dalla console (repository pubblico)
-
Vai al dashboard Code Engine.
-
Seleziona il progetto in cui hai aggiunto il tuo registro del contenitore.
-
Dalla pagina del progetto, fare clic su Build immagine.
-
Dalla scheda Image build, fai clic su Create. Il pannello laterale Specifica dettagli di build si apre dove si immettono i dettagli della build.
-
Nella sezione Source, immetti un nome per la tua build, l'URL del tuo repository di origine e l'accesso al tuo repository di codice.
- Se il tuo codice si trova in un repository pubblico, utilizza un URL HTTPS e seleziona Nessuno per l'accesso al repository di codice. Un esempio di URL HTTPS è
https://github.com/IBM/CodeEngine. - Se il tuo codice si trova in un repository privato, utilizza un URL SSH per l'URL del repository di codice e seleziona il nome di un accesso al repository di codice esistente o crea un accesso al repository di codice.
Un esempio di URL SSH è
git@github.com:IBM/CodeEngine.git. - Facoltativamente, selezionare un nome ramo di origine. Se non fornisci un nome di ramo e lasci il campo vuoto, Code Engine utilizza automaticamente il ramo predefinito del repository specificato. È possibile immettere qualsiasi altro nome di ramo, tag o ID commit.
Fai clic su Next per continuare.
- Se il tuo codice si trova in un repository pubblico, utilizza un URL HTTPS e seleziona Nessuno per l'accesso al repository di codice. Un esempio di URL HTTPS è
-
Nella sezione Strategia, selezionare la strategia che si desidera utilizzare.
- Se selezioni Dockerfile, puoi specificare anche un percorso alternativo per il tuo Dockerfile.
- Seleziona la dimensione della tua build in Build resources.
Fai clic su Next per continuare.
-
Nella sezione Output, immetti i dettagli della tua immagine del contenitore.
- Selezionare un segreto del Registro di sistema esistente o fare clic su Crea segreto del Registro di sistema per aggiungerne uno nuovo.
- Se stai creando la tua immagine in un'istanza Container Registry presente nel tuo account, puoi selezionare
Code Engine managed secrete Code Engine crea e gestisce il segreto per te. - Seleziona quindi lo spazio dei nomi, il repository e la tag dell'immagine che vuoi creare. Puoi scegliere per Code Engine tp creare e gestire lo spazio dei nomi in Container Registry per te.
- Se la tua immagine esiste in Container Registry, puoi selezionare dalle immagini esistenti o immettere un nuovo repository o tag.
-
Fare clic su Fine per terminare la creazione della build.
Dopo aver creato la configurazione di build, è necessario eseguire la creazione per creare il file immagine. Una volta creato il tuo file di immagine, puoi distribuire un'applicazione o eseguire un lavoro con il tuo file di immagine appena creato.
Creazione di una configurazione di build con la CLI (repository pubblico)
Per creare una configurazione di build con la CLI, utilizza il comando build create. Per un elenco completo delle opzioni, consultare il comando ibmcloud ce build create.
Con il comando build create, puoi scegliere di lasciare che Code Engine si occupi di creare l'immagine dalla tua origine e quindi archiviare l'immagine in IBM Cloud Container Registry. Per questo caso di accesso automatico,
non è necessario specificare un segreto di registro o l'ubicazione del registro delle immagini. Oppure, puoi specificare l'ubicazione per il tuo output dell'immagine di build e fornire un segreto del Registro di sistema in modo che Code Engine
possa accedere e inviare il risultato della build al tuo Registro di sistema.
Creazione di una configurazione di build con la CLI (con origine del repository pubblico e accesso automatico al registro)
In questo scenario, Code Engine crea un'immagine dall'origine del repository Git pubblico e carica automaticamente l'immagine in IBM Cloud Container Registry con accesso automatico. Vedi Configurazione delle autorizzazioni per i registri delle immagini per ulteriori informazioni sull'impostazione delle autorizzazioni richieste per Code Engine per accedere automaticamente a queste immagini in Container Registry.
Prima di iniziare
-
Crea una configurazione di build per creare una immagine da un repository Git pubblico e lascia che Code Engine memorizzi e acceda automaticamente all'immagine. Ad esempio, il seguente comando
build createcrea una configurazione di build denominatahelloworld-buildche crea dall'origine nel Git Githttps://github.com/IBM/CodeEnginepubblico. In questo esempio, il comando utilizza la strategiadockerfilepredefinita e la dimensione di buildmediumpredefinita. Dal momento che 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 di un segreto del registro, Code Engine invia l'output di build a IBM Cloud Container Registry con accesso automatico.ibmcloud ce build create --name helloworld-build --source https://github.com/IBM/CodeEngine --context-dir /helloOutput di esempio
Creating build helloworld-build... OKLa seguente tabella riepiloga le opzioni utilizzate con il comando
build createin questo esempio. Per ulteriori informazioni sul comando e sulle sue opzioni, consultare il comandoibmcloud ce build create.Descrizione del comando Opzione Descrizione --nameIl nome della creazione. Utilizzare un nome univoco all'interno del progetto. Questo valore è obbligatorio.
- Il nome deve iniziare con una lettera minuscola.
- Il nome deve terminare con un carattere alfanumerico minuscolo.
- Il nome deve essere di 55 caratteri o meno e può contenere lettere, numeri e trattini (-).
--sourceL'URL del repository Git che contiene il tuo 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. Questo valore è facoltativo. -
Utilizzare il comando
build getper controllare lo stato della build.ibmcloud ce build get --name helloworld-buildOutput 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-build' OK Name: helloworld-build ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 2d15h Created: 2022-05-24T09:58:43-05:00 Build Type: git Status: Succeeded Reason: all validations succeeded Image: private.us.icr.io/ce--e97a8-odof2whblw5/build-helloworld-build 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
Dopo aver creato la configurazione di build, è necessario eseguire la creazione per creare il file immagine. Una volta creato il tuo file di immagine, puoi distribuire un'applicazione o eseguire un lavoro con il tuo file di immagine appena creato.
Creazione di una configurazione di build con la CLI (con origine del repository pubblico e accesso fornito dall'utente al registro)
In questo scenario, Code Engine crea un'immagine dall'origine del repository Git pubblico e quindi carica l'immagine sul registro del tuo contenitore con l'accesso al registro che fornisci.
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.
-
Crea una configurazione di build per creare un'immagine da un repository Git pubblico e specifica l'ubicazione del registro delle immagini per l'output della creazione con un segreto di registro. Con il comando
build create, specifica l'opzione--imageper fornire l'ubicazione del registro delle immagini e specifica l'opzione--registry-secretper accedere al registro. Ad esempio, il seguente comando crea una configurazione di build denominatahelloworld-build2che crea dal repository Git pubblicohttps://github.com/IBM/CodeEnginee archivia l'immagine inus.icr.io/mynamespace/codeengine-helloworldutilizzando il segreto del registromyregistry. In questo esempio, il comando utilizza la strategiadockerfilepredefinita e la dimensione di buildmediumpredefinita. Dal momento che 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.ibmcloud ce build create --name helloworld-build2 --image us.icr.io/mynamespace/codeengine-helloworld --registry-secret myregistry --source https://github.com/IBM/CodeEngine --context-dir /helloOutput di esempio
Creating build helloworld-build2... OKLa seguente tabella riepiloga le opzioni utilizzate con il comando
build createin questo esempio. Per ulteriori informazioni sul comando e sulle sue opzioni, consultare il comandoibmcloud ce build create.Descrizione del comando Opzione Descrizione --nameIl nome della creazione. Utilizzare un nome univoco all'interno del progetto. Questo valore è obbligatorio.
- Il nome deve iniziare con una lettera minuscola.
- Il nome deve terminare con un carattere alfanumerico minuscolo.
- Il nome deve essere di 55 caratteri o meno e può contenere lettere, numeri 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 del Registro di sistema utilizzato per accedere al Registro di sistema. È possibile aggiungere il segreto di registro eseguendo il comando secret create --format registry. Il segreto del Registro di sistema viene utilizzato per l'autenticazione con un registro privato.--sourceL'URL del repository Git che contiene il tuo 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. Questo valore è facoltativo. -
Utilizzare il comando
build getper controllare lo stato della build.ibmcloud ce build get --name helloworld-build2Output di esempio
Getting build 'helloworld-build2' OK Name: helloworld-build2 ID: abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f Project Name: myproject Project ID: 01234567-abcd-abcd-abcd-abcdabcd1111 Age: 2d15h Created: 2021-03-14T14:48:19-05:00 Status: Succeeded Reason: all validations succeeded Image: us.icr.io/mynamespace/codeengine-helloworld Registry Secret: myregistry Build Strategy: dockerfile-medium Timeout: 10m0s Source: https://github.com/IBM/CodeEngine Commit: main Context Directory: /hello Dockerfile: Dockerfile
Dopo aver creato la configurazione di build, è necessario eseguire la creazione per creare il file immagine. Una volta creato il tuo file di immagine, puoi distribuire un'applicazione o eseguire un lavoro con il tuo file di immagine appena creato.
Se si riceve un errore di convalida del comando, verificare che il segreto esista. Se fai riferimento a un segreto di registro (--registry-secret) per la tua immagine e il segreto non esiste, vedi Accesso ai registri del contenitore.
Per ulteriori informazioni sulle build, consultare i suggerimenti per la risoluzione dei problemi.