Como implantar um aplicativo

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

  1. Upload do código-fonte
  2. Crie
  3. Execução

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 sinalizações de envio.

Como ignorar arquivos durante o envio

Em muitos casos, não é recomendável fazer upload de determinados arquivos durante o kf push (ou seja, "ignorar"). É 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 aplicativo (semelhante ao local em que você armazenaria o arquivo de manifesto). Em seguida, preencha-o com uma lista delimitada por nova 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.

Build

O ciclo de vida da versão é processado por um TaskRun Tekton. Dependendo das sinalizações fornecidas durante o envio, 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 uma versão. Se uma versão for bem-sucedida, a imagem do contêiner resultante será implantada por meio do ciclo de vida de execução (descrito abaixo).

Mais informações disponíveis em Ambiente de execução da versão.

Execução

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

Ele também cria:

Mais informações disponíveis em Ambiente de execução da versão.