Skip to content
This repository was archived by the owner on Apr 22, 2020. It is now read-only.

Commit 21720bc

Browse files
committed
Update: Add pipeline example [ES]
1 parent e17d624 commit 21720bc

4 files changed

Lines changed: 62 additions & 2 deletions

File tree

es/application-lifecicle/al-changelog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ Contenido:
1010
- [Etiquetas y versionado semántico](al-semver.md)
1111
- **Changelog**
1212

13+
(TBD)
14+
1315
---
1416

1517
Ir a la [Página principal](../toc.md)

es/application-lifecicle/al-pipeline.md

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,67 @@ Es el proceso definido para gestionar todas las actividades que suceden desde qu
1414

1515
Desde el punto de vista del [repositorio de código](../repositories.md) y sus ramas, los cambios que realizamos en el código fuente de la aplicación siguen una ruta de promoción _hacia produccion_, "viajando" desde nuestra rama de característica (feature branch) como punto de partida, donde trabajamos de manera aislada, y realizando distintas pruebas como test unitarios, de integración, de seguridad o de rendimineto por el camino. Puede haber etapas donde nuestro código se someta a una revisión por una persona o un comité antes de integrarse en otra rama.
1616

17-
Un modelo de trabajo típoco es el "Git Feature Branch Workflow", donde se trabaja en ramas aisladas y realizan peticiones de integración (pull requests / merge requests) hacia la rama principal de desarrollo, generalmente denominada "develop". En este caso la rama "develop" no debe ser una rama de trabajo, sino una rama de integración y promoción de cambios hacia otras ramas, generalmente "master".
17+
Un modelo de trabajo típico es el "Git Feature Branch Workflow", donde se trabaja en ramas aisladas y realizan peticiones de integración (pull requests / merge requests) hacia la rama principal de desarrollo, generalmente denominada "develop". En este caso la rama "develop" no debe ser una rama de trabajo, sino una rama de integración y promoción de cambios hacia otras ramas, generalmente "master".
1818

1919
El mantenimiento del Pipeline en una aplicación es responsabilidad de todo equipo de proyecto.
2020

21-
Ejemplos:
21+
Se pueden definir pipelines con múltiples herramientas: [Jenkins](https://jenkins.io/), [TravisCI](https://travis-ci.org/), [GitLab](https://docs.gitlab.com/ee/ci/), [CircleCI](https://circleci.com/), ... se pueden contar por [decenas](https://stackify.com/top-continuous-integration-tools/).
22+
23+
Este proyecto de documentación tiene un Pipeline de Jenkins asociado con el archivo Jenkinsfile que se puede encontrar en el raíz del repositorio. Se utiliza una [librería global compartida](https://jenkins.io/doc/book/pipeline/shared-libraries/) del proyecto [Red Panda](https://github.com/red-panda-ci) llamada [Jenkins Pipeline Library](https://github.com/red-panda-ci/jenkins-pipeline-library) escrita en Groovy.
24+
25+
```groovy
26+
#!groovy
27+
28+
@Library('github.com/red-panda-ci/jenkins-pipeline-library@v2.6.2') _
29+
30+
// Initialize global config
31+
cfg = jplConfig('general-concepts', 'doc', '', [slack: '#integrations', email:'redpandaci+general-concepts@gmail.com'])
32+
33+
pipeline {
34+
agent none
35+
36+
stages {
37+
stage ('Initialize') {
38+
agent { label 'master' }
39+
steps {
40+
jplStart(cfg)
41+
}
42+
}
43+
stage ('Release confirm') {
44+
when { expression { cfg.BRANCH_NAME.startsWith('release/v') || cfg.BRANCH_NAME.startsWith('hotfix/v') } }
45+
steps {
46+
jplPromoteBuild(cfg)
47+
}
48+
}
49+
stage ('Release finish') {
50+
agent { label 'master' }
51+
when { expression { cfg.BRANCH_NAME.startsWith('release/v') || cfg.BRANCH_NAME.startsWith('hotfix/v') } }
52+
steps {
53+
jplCloseRelease(cfg)
54+
}
55+
}
56+
}
57+
58+
post {
59+
always {
60+
jplPostBuild(cfg)
61+
}
62+
}
63+
64+
options {
65+
timestamps()
66+
ansiColor('xterm')
67+
buildDiscarder(logRotator(artifactNumToKeepStr: '20',artifactDaysToKeepStr: '30'))
68+
disableConcurrentBuilds()
69+
skipDefaultCheckout()
70+
timeout(time: 1, unit: 'DAYS')
71+
}
72+
}
73+
```
74+
75+
![Pipeline del proyecto](img/general-concepts-pipeline.png?raw=true "Pipeline del proyecto")
76+
77+
Otros ejemplos de Pipeline:
2278

2379
![Ejemplo de Pipeline](img/realworld-pipeline-flow.png?raw=true "Ejemplo de Pipeline")
2480

es/application-lifecicle/al-semver.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ Contenido:
1010
- **Etiquetas y versionado semántico**
1111
- [Changelog](al-changelog.md)
1212

13+
(TBD)
14+
1315
---
1416

1517
Siguiente: [Changelog](al-changelog.md) - Ir a la [Página principal](../toc.md)
352 KB
Loading

0 commit comments

Comments
 (0)