# Build d’image - Nœud de workflow | Docs - nodulz

Source: https://nodulz.com/fr/docs/nodes/ci_docker_build

Language: fr

Build et push d’une image avec Docker ou Podman depuis le workspace

## Utilisation et spécificités

Dockerfile et context sont relatifs au workspace sélectionné. tags doit identifier l’image attendue. push nécessite une connexion préalable au registry et les droits correspondants.

Type technique : `ci_docker_build`. Runtime : `docker`.

## Identifiants et prérequis

Aucun identifiant externe dédié n’est défini par ce nœud. Les sources distantes ou la cible d’exécution peuvent néanmoins nécessiter leurs propres accès.

Consultez le [guide des identifiants](/docs/credentials) si une source distante ou une cible d’exécution nécessite un accès.

## Paramètres

Les noms ci-dessous correspondent aux clés techniques. Les valeurs par défaut ne constituent pas une configuration prête à exécuter : renseignez les champs requis par votre opération. Les chemins contenant [] décrivent les éléments d’une liste ; certains champs dépendent du mode sélectionné.

| Paramètre | Type | Par défaut | Valeurs / limites |
| --- | --- | --- | --- |
| `secretFiles` | `array` | `[]` | -; max 20 |
| `secretFiles[].path` | `string` | - | -; min 1, max 1024 |
| `secretFiles[].content` | `string` | - | -; max 1048576 |
| `dockerfile` | `string` | `"Dockerfile"` | -; min 1 |
| `context` | `string` | `"."` | - |
| `tags` | `array` | `["ghcr.io/org/app:latest"]` | -; min 1 |
| `buildArgs` | `record` | - | - |
| `push` | `boolean` | `true` | - |
| `platforms` | `array` | - | - |
| `workspaceSource` | `union` | `{"kind":"upstream"}` | - |
| `workspaceSource.kind` | `literal` | `"upstream"` | `upstream`, `node` |
| `workspaceSource.key` | `string` | - | -; min 1 |
| `executionTarget` | `union` | `{"kind":"host"}` | - |
| `executionTarget.kind` | `literal` | `"host"` | `host`, `remote_server`, `kube`, `swarm` |
| `executionTarget.serverId` | `string` | - | -; min 1 |
| `executionTarget.provider` | `enum` | - | `aws`, `gcp`, `scaleway`, `ovh`, `azure`, `digitalocean`, `hetzner` |
| `executionTarget.clusterId` | `string` | - | -; min 1 |
| `executionTarget.namespace` | `string` | - | - |

## Aide de configuration

| Réglage | Rôle et conseils |
| --- | --- |
| `dockerfile`<br>Dockerfile | Chemin du Dockerfile relatif à la racine du workspace Checkout. |
| `context`<br>Contexte build | Répertoire utilisé comme contexte de build Docker ou Podman (souvent .). |
| `tags`<br>Tags (un par ligne) | Tags de l'image construite - un tag par ligne (expressions autorisées). |
| `push`<br>Pousser l'image après le build | Publie chaque tag après le build avec Docker ou Podman (nécessite une connexion au registre). |

## Configuration initiale

Exemple de configuration initiale du catalogue, à adapter avant exécution. Les secrets doivent rester dans les identifiants.

```json
{
  "dockerfile": "Dockerfile",
  "context": ".",
  "tags": [
    "ghcr.io/org/app:latest"
  ],
  "push": true,
  "workspaceSource": {
    "kind": "upstream"
  },
  "executionTarget": {
    "kind": "host"
  }
}
```

## Vérification

Testez le nœud avec des données représentatives. Contrôlez sa sortie dans l’inspecteur et les logs, puis utilisez le mapping de l’éditeur pour les champs des nœuds suivants. Un test de déclencheur avec payload simulé ne valide pas la livraison du service externe.

Voir aussi : [Expressions et données](/docs/expressions), [Exécutions](/docs/executions), [Catalogue des nœuds](/docs/nodes).

## Pour aller plus loin

- [Fonctionnalités - nodulz](https://nodulz.com/fr/product/overview)
- [Catalogue des nœuds - nodulz](https://nodulz.com/fr/product/catalog)
- [Serveur MCP - nodulz](https://nodulz.com/fr/product/mcp)
- [Tarifs - nodulz](https://nodulz.com/fr/pricing)
- [Cas d’usage et automatisations - nodulz](https://nodulz.com/fr/use-cases)
- [Choisissez ce que vos workflows peuvent faire. - nodulz](https://nodulz.com/fr/compare)
- [Documentation - nodulz](https://nodulz.com/fr/docs)
