Quando esegui il push di un'app (tramite kf push
) in Kf, esistono tre cicli di vita
che Kf utilizza per acquisire il codice sorgente e consentire di gestire il traffico:
- Caricamento del codice sorgente
- Build
- Esegui
Caricamento del codice sorgente
La prima cosa che accade quando kf push
è che la CLI di Kf (kf
) impacchetta la tua directory (attuale o --path/-p
) in un contenitore e la pubblica nel registry dei contenitori configurato per lo spazio. Questo è chiamato contenitore di origine. L'interfaccia a riga di comando Kf crea quindi un tipo App
in Kubernetes
che contiene sia l'immagine di origine sia la configurazione del manifest dell'app e
i flag push.
Ignorare i file durante il push
In molti casi, non è consigliabile caricare determinati file durante kf push
(ad es. "ignorarli").
È qui che può essere utilizzato un file .kfignore
(o .cfignore
).
Analogamente a un file .gitignore
, questo file indica alla CLI di Kf quali
file non includere nel contenitore del codice sorgente.
Per creare un file .kfignore
, crea un file di testo denominato .kfignore
nella directory di base della tua app (in modo simile a dove memorizzeresti il file manifest). Poi compilalo con un elenco delimitato da riga nuova di file e directory
che non vuoi pubblicare. Ad esempio:
bin
.idea
In questo modo, l'interfaccia a riga di comando Kf non includerà nulla nelle directory bin
o .idea
.
Kf supporta la sintassi in stile gitignore.
Build
Il ciclo di vita della compilazione è gestito da un TaskRun Tekton. A seconda dei flag forniti durante il push, verrà scelta una Task Tekton specifica. Al momento Kf dispone dei seguenti job Tekton:
- buildpackv2
- buildpackv3
- kaniko
Kf monitora ogni TaskRun come una build. Se una compilazione va a buon fine, l'immagine container risultante viene di conseguenza dispiattata tramite il ciclo di vita di Run (descritto di seguito).
Puoi trovare ulteriori informazioni in Eseguire il runtime della build.
Esegui
Il ciclo di vita di Run è responsabile dell'acquisizione di un'immagine container e della creazione di un deployment Kubernetes.
Inoltre, crea:
Puoi trovare ulteriori informazioni in Eseguire il runtime della build.