You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
2.9 KiB
Markdown

Dans le contexte d'un pipeline **Concourse**, une **target** fait généralement référence à un **environnement de déploiement** ou à un **ensemble d'objectifs (targets)** où un job doit être exécuté. Cela fait partie de la configuration permettant de déterminer où les ressources et les jobs doivent être déployés ou exécutés, que ce soit sur un environnement local ou distant.
### Définition et utilisation de "target" dans un pipeline Concourse :
1. **Environnement d'exécution** :
- Une target représente l'endroit où les actions de pipeline (telles que les jobs ou les ressources) seront exécutées. Ce peut être un serveur de déploiement, un environnement de tests, ou une machine virtuelle dans le cas de Concourse. Chaque instance de Concourse peut être configurée pour interagir avec des environnements différents ou des ressources externes à travers des "targets".
2. **Dans les ressources et les actions** :
- Dans un pipeline Concourse, des ressources (comme les dépôts Git, les images Docker, ou les artefacts) peuvent être connectées à des targets, ce qui indique à Concourse de quelle manière et où interagir avec ces ressources.
- Exemple : si vous avez une ressource qui interagit avec un service externe comme AWS, une cible peut être utilisée pour configurer l'authentification et l'interaction avec cet environnement.
3. **Dans la configuration de Concourse** :
- Concourse utilise des "targets" dans sa configuration pour déterminer les paramètres relatifs aux connexions aux systèmes externes. Les **targets** sont utilisés dans des fichiers de configuration ou de pipeline pour établir des connexions aux environnements de déploiement ou aux systèmes tiers. Par exemple, cela pourrait concerner des environnements comme `production`, `staging` ou `dev`.
### Exemple pratique :
Disons que vous avez un pipeline qui déploie une application sur plusieurs environnements, par exemple :
- Un environnement de développement (dev).
- Un environnement de staging.
- Un environnement de production.
Chaque environnement aurait une **target** associée. Par exemple :
```yaml
resources:
- name: git-repo
type: git
source:
uri: "https://github.com/monrepo"
branch: master
target: staging # Ici la target désignerait l'environnement "staging" pour ce job
jobs:
- name: deploy-dev
plan:
- get: git-repo
trigger: true
- task: deploy-to-dev
target: dev # Ici la target désignerait l'environnement "dev"
```
### Conclusion :
En résumé, une **target** dans un pipeline **Concourse** est un mécanisme pour spécifier où les ressources doivent être utilisées ou où les actions doivent être exécutées. C'est une abstraction pour interagir avec différents environnements ou systèmes externes en fonction du contexte de votre pipeline. Cela permet d'avoir un contrôle fin sur le déploiement, l'exécution des tâches, et l'intégration avec d'autres outils ou plateformes.