techlite/build-docker-image
1.0.2
repeating may hit the cache The result depends only on the inputs, so a second run may come from cache without executing again.Constrói uma imagem e a grava como arquivo
task
How to use
oren add techlite/build-docker-imageConstrói a imagem a partir de um Dockerfile e grava o resultado como arquivo no diretório de artefatos, para outra task publicá-lo.
O desenho é deliberado. A implementação anterior construía no daemon do host, o que exigia o socket do Docker — privilégio crítico — e tornava o resultado invisível: a imagem ficava num lugar que o protocolo não gerencia, e o step seguinte dependia desse efeito colateral.
Produzindo um arquivo, a task passa a ter resultado observável, cacheável e transportável — inclusive entre jobs de CI diferentes, onde nada é compartilhado além do que o protocolo materializa.
The step the command writes
- id: build-docker-image
task: techlite/build-docker-image@^1.0.2
implementation: techlite/build-docker-image-kaniko
inputs:
image: ...
dependencies:
source: ...
artifacts: ...What it requires from your environment
This is the floor: every implementation of this task asks for at least this.
| dependency | type | access | privilege |
|---|---|---|---|
sourceProjeto a construir. | directory | read only | low |
artifactsOnde o OCI archive é gravado. | directory | read and write | medium |
Inputs
imagestringrequired- Referência completa da imagem, com tag. A versão entra por interpolação do pipeline, não por substituição dentro do worker: image: registry.exemplo/app:${outputs['versao'].version} A implementação anterior aceitava `$VERSION` no nome e substituía por conta própria. Dava boa visibilidade do formato, mas a substituição não estava no contrato — outra implementação não a faria, e trocar de worker quebraria o pipeline.
dockerfilestring- Caminho do Dockerfile, relativo ao contexto. default:
Dockerfile contextstring- Diretório de contexto do build, relativo ao workspace. default:
. buildArgsobject- Argumentos de build repassados ao Dockerfile.
archiveNamestring- Nome do arquivo gravado no diretório de artefatos. default:
image.tar
Outputs
What later steps can reference.
imagestring- Referência da imagem construída.
archivestring- Caminho do arquivo, relativo ao diretório de artefatos.
archiveFormatstring- Formato do arquivo gravado. Precisa estar no contrato: sem isso, uma implementação que grave OCI e outra que espere docker-archive falhariam só em runtime, e o acoplamento entre build e push ficaria invisível.
Implementations
Constrói a imagem com kaniko, sem daemon e sem privilégios
ghcr.io/techlitebr/oren-build-docker-image-kaniko:1.0.4