Como implantar um aplicativo

Ao enviar um app (via kf push) para o Kf, há três ciclos de vida que o Kf usa para capturar o código-fonte e permitir que ele processe o tráfego:

  1. Upload do código-fonte
  2. Criar
  3. Executar

Upload do código-fonte

Quando você usa kf push, a CLI do Kf (kf) empacota o diretório (atual ou --path/-p) em um contêiner e o publica no Container Registry configurado para o Space. Isso é chamado de contêiner de origem. A CLI do Kf cria um tipo App no Kubernetes que contém a imagem de origem e a configuração do manifesto do app e das flags de push.

Como ignorar arquivos durante o push

Em muitos casos, não é recomendável fazer o upload de determinados arquivos durante o kf push (ou seja, ignorá-los). É aqui que um arquivo .kfignore (ou .cfignore) é usado. Semelhante a um arquivo .gitignore, este arquivo instrui a CLI do Kf sobre quais arquivos não precisam ser incluídos no contêiner do código-fonte.

Para criar um arquivo .kfignore, crie um arquivo de texto chamado .kfignore no diretório base do seu app (semelhante ao local em que você armazenaria o arquivo de manifesto). Em seguida, preencha-o com uma lista delimitada por feed de linha de arquivos e diretórios que você não quer publicar. Exemplo:

bin
.idea

Isso fará com que a CLI do Kf não inclua nada nos diretórios bin ou .idea.

O Kf é compatível com a sintaxe de estilo gitignore.

Criar

O ciclo de vida do build é processado por um TaskRunTekton. Dependendo das flags fornecidas durante o push, ele escolherá uma tarefa específica do Tekton. Atualmente, o Kf tem as seguintes tarefas do Tekton:

  • buildpackv2
  • buildpackv3
  • kaniko

O Kf rastreia cada TaskRun como um build. Se um build for bem-sucedido, a imagem do contêiner resultante será implantada por meio do ciclo de vida de execução (descrito abaixo).

Veja mais informações em Ambiente de execução do build.

Executar

O ciclo de vida de execução é responsável por criar uma imagem de contêiner e uma implantação do Kubernetes.

Ele também cria:

Veja mais informações em Ambiente de execução do build.

Tempo limite de push

O Kf é compatível com a configuração de uma variável de ambiente para instruir a CLI a expirar durante o push de apps. Se configuradas, as variáveis KF_STARTUP_TIMEOUT ou CF_STARTUP_TIMEOUT serão analisadas como uma duração de estilo golang (por exemplo, 15m, 1h). Se um valor não for definido, o tempo limite de push padrão será 15 minutos.