Mise à jour de 'Utiliser le pipeline "Symfony"'
parent
548db1b422
commit
e05ac02142
|
@ -26,3 +26,80 @@ Les PRs de votre projet seront désormais validées avec:
|
||||||
- https://github.com/FriendsOfPhp/PHP-CS-Fixer
|
- https://github.com/FriendsOfPhp/PHP-CS-Fixer
|
||||||
|
|
||||||
Elles seront automatiquement commentées par Jenkins ([Exemple](https://forge.cadoles.com/Pyxis/orion-suite/pulls/106)).
|
Elles seront automatiquement commentées par Jenkins ([Exemple](https://forge.cadoles.com/Pyxis/orion-suite/pulls/106)).
|
||||||
|
|
||||||
|
|
||||||
|
## Utiliser les hooks
|
||||||
|
|
||||||
|
Il est possible d'utiliser un mécanisme de "hooks" pour exécuter des opérations arbitraires à certaines étapes du pipeline. Voici les hooks disponibles:
|
||||||
|
|
||||||
|
### `preSymfonyAppPipeline`
|
||||||
|
|
||||||
|
Exécuté en amont du pipeline de validation de l'application Symfony.
|
||||||
|
|
||||||
|
### Exemple
|
||||||
|
|
||||||
|
```groovy
|
||||||
|
@Library('cadoles@podman') _
|
||||||
|
|
||||||
|
symfonyAppPipeline('ubuntu:22.04', [
|
||||||
|
'hooks': [
|
||||||
|
'preSymfonyAppPipeline': {
|
||||||
|
stage('Mon stage personnalisé') {
|
||||||
|
println "HELLO FROM preSymfonyAppPipeline hook !"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
])
|
||||||
|
```
|
||||||
|
|
||||||
|
### `buildSymfonyImage`
|
||||||
|
|
||||||
|
Exécuté juste avant la construction de l'image Docker qui sera utilisée pour valider l'application Symfony. Si vous avez besoin de modifier le Dockerfile pour installer des outils supplémentaires, c'est ce hook qu'il vous faut.
|
||||||
|
|
||||||
|
### Exemple
|
||||||
|
|
||||||
|
```groovy
|
||||||
|
@Library('cadoles@podman') _
|
||||||
|
|
||||||
|
symfonyAppPipeline('ubuntu:22.04', [
|
||||||
|
'hooks': [
|
||||||
|
'buildSymfonyImage': {
|
||||||
|
// On charge le fichier Dockerfile en mémoire
|
||||||
|
String dockerfile = readFile(file:'Dockerfile')
|
||||||
|
|
||||||
|
// On ajoute des lignes dans le fichier Dockerfile en mémoire pour installer des dépendances
|
||||||
|
// PHP et NodeJS
|
||||||
|
dockerfile = """
|
||||||
|
${dockerfile}
|
||||||
|
|
||||||
|
RUN apt update && apt install -y php-gd php-curl php-zip curl
|
||||||
|
RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && apt-get install -y nodejs
|
||||||
|
RUN npm install -g yarn
|
||||||
|
""".stripIndent()
|
||||||
|
|
||||||
|
// On réécrit le fichier Dockerfile avec nos modifications.
|
||||||
|
writeFile(file:'Dockerfile', text: dockerfile)
|
||||||
|
}
|
||||||
|
]
|
||||||
|
])
|
||||||
|
```
|
||||||
|
|
||||||
|
### `postSymfonyAppPipeline`
|
||||||
|
|
||||||
|
Exécuté en aval du pipeline de validation de l'application Symfony.
|
||||||
|
|
||||||
|
### Exemple
|
||||||
|
|
||||||
|
```groovy
|
||||||
|
@Library('cadoles@podman') _
|
||||||
|
|
||||||
|
symfonyAppPipeline('ubuntu:22.04', [
|
||||||
|
'hooks': [
|
||||||
|
'postSymfonyAppPipeline': {
|
||||||
|
stage('Mon stage personnalisé') {
|
||||||
|
println "HELLO FROM postSymfonyAppPipeline hook !"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
])
|
||||||
|
```
|
Loading…
Reference in New Issue