Quando esegui il push di un'app (tramite kf push
) a Kf, sono previsti tre cicli di vita
che Kf utilizza per prendere il codice sorgente e consentirgli di gestire il traffico:
- Caricamento del codice sorgente
- Build
- Esegui
Caricamento del codice sorgente
La prima cosa che succede quando kf push
sono i pacchetti dell'interfaccia a riga di comando Kf (kf
)
la tua directory (attuale o --path/-p
) in un container
la pubblica nel Container Registry configurato per lo spazio. Questo è
chiamato container di origine. L'interfaccia a riga di comando Kf crea quindi un tipo App
in Kubernetes
che contenga sia l'immagine di origine sia la configurazione del file manifest dell'app
tramite i flag push.
Ignorare i file durante il push
In molti casi, non vorrai caricare determinati file durante kf push
(ad es. "ignorarli").
È qui che puoi utilizzare un file .kfignore
(o .cfignore
).
Analogamente a un file .gitignore
, questo file indica all'interfaccia a riga di comando Kf che
i file da 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
Questo indicherà all'interfaccia a riga di comando Kf di non includere nulla in bin
o .idea
.
Kf supporta la sintassi di stile gitignore.
Build
Il ciclo di vita della compilazione è gestito da un TaskRun Tekton. A seconda delle segnalazioni da te fornite durante il push, sceglierà una selezione Attività Tekton. Al momento Kf ha le seguenti attività Tekton:
- buildpackv2
- buildpackv3
- kaniko
Kf monitora ogni TaskRun come una build. Se una compilazione ha esito positivo, 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.
Timeout push
Kf supporta l'impostazione di una variabile di ambiente per indicare alla CLI di eseguire il timeout
durante l'invio delle app. Se impostate, le variabili KF_STARTUP_TIMEOUT
o
CF_STARTUP_TIMEOUT
vengono analizzate come durata in stile Golang (ad es. 15m
,
1h
). Se non viene impostato un valore, il timeout push predefinito è 15 minuti.