Skip to content

Commit c8717da

Browse files
committed
chore(03-cicd): updated jenkins demos
1 parent 7e329b0 commit c8717da

File tree

8 files changed

+109
-87
lines changed

8 files changed

+109
-87
lines changed

03-cd/00-groovy/02-estructuras-de-control.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@ for(String singer: singers) {
4343
Podemos definir el bucle anterior de una manera más compacta:
4444

4545
```groovy
46-
singers.each(x -> println(x))
46+
singers.each({ x -> println(x) })
4747
```
4848

4949
Podemos incluso darle una vuelta de tuerca más alimentando directamente el `iterador`.
5050

5151
```groovy
52-
singers.each(println(it))
52+
singers.each({ println(it) })
5353
```
5454

5555
# Demo: Estructuras de Control

03-cd/00-groovy/notes.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,3 @@
1616
- Sintaxis maleable y flexible, integración avanzada y mecanismos de personalización, para integrar de manera legible las reglas de negocio en nuestras aplicaciones
1717
- Scripting and testing glue
1818
- Genial para escribir tests de manera concisa y mantenible, y para todas las tareas de `build` y automatización.
19-
20-
> Aunque se integra de manera fantástica con Java, tiene su propio compilador y su propia VM.

03-cd/01-jenkins/01-introduccion/01_creando_y_ejecutando_simple_pipelines.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
Accedemos a Jenkins en http://localhost:8080 con `lemoncode`/`lemoncode`.
66

7-
- New item, de tipo pipeline, con nombre `01-intro-01-1.1`
7+
- New item, de tipo pipeline, con nombre `01-intro-1.1`
88
- Escribimos el siguiente contenido en la sección Pipeline script:
99

1010
```groovy
@@ -117,24 +117,24 @@ Mostrar el resultado desde la interfaz clásica. Este proyecto es un proyecto mu
117117

118118
Es importante entender que utilizar el Credentials Provider de BlueOcean está desaconsejado. Aparecerá un warning en la barra superior.
119119

120-
- Eliminaremos nuestro item `01-intro-01-1.2` y lo recrearemos desde la interfaz clásica.
120+
- Eliminaremos nuestro item `01-intro-1.2` y lo recrearemos desde la interfaz clásica.
121121

122-
- New item, pipeline, 01-intro-01-1.2`.
122+
- New item, pipeline, 01-intro-1.2`.
123123
- En la sección Pipeline seleccionamos pipeline script from SCM.
124124
- Pondremos la URL por HTTPS de nuestro repositorio. Guardamos.
125125
- Hacemos una build y vemos los logs.
126126

127-
- Crearemos de nuevo el item `01-intro-01-1.2-multi` como multi branch:
127+
- Crearemos de nuevo el item `01-intro-1.2-multi` como multi branch:
128128

129-
- New item, Multibranch Pipeline, `01-intro-01-1.2-multi`.
129+
- New item, Multibranch Pipeline, `01-intro-1.2-multi`.
130130
- Branch Sources seleccionamos Bitbucket.
131131
- Añadimos credenciales en el Store de Jenkins.
132132
- Tipo Username with password.
133133
- Ponemos nuestro username de Bitbucket y usamos la app password como Password.
134134
- Añadimos el id `bitbucket-credentials`.
135135
- Seleccionamos la credencial que acabamos de crear
136136
- Usamos nuestro nombre de usuario de Bitbucket como Owner.
137-
- Seleccionamos nuestro repositorio `01-intro-01-1.2`. Guardamos.
137+
- Seleccionamos nuestro repositorio `01-intro-1.2`. Guardamos.
138138
- Verificamos que la build sobre master se ha hecho.
139139

140140
- Eliminaremos las credenciales de nuestro usuario.
@@ -147,14 +147,14 @@ Realizar el mismo paso cambiando la visibilidad del proyecto de Bitbucket a `pri
147147
- Crear un nuevo repositorio en GitHub `jenkins-demos`. Este repositorio lo utilizaremos para el resto de las demos. Lo haremos privado para añadirle credenciales a Jenkins.
148148
- Añadimos los siguientes ficheros a nuestro repositorio:
149149

150-
**./01-intro/01/1.1/test.sh**
150+
**./01-intro/1.1/test.sh**
151151

152152
```bash
153153
#!/bin/sh
154154
echo "Inside the script, demo $DEMO"
155155
```
156156

157-
**./01-intro/01/1.1/Jenkinsfile**
157+
**./01-intro/1.1/Jenkinsfile**
158158

159159
```groovy
160160
pipeline {
@@ -202,7 +202,7 @@ Vemos que tenemos un error de que no encuentra los ficheros por no tenerlos en l
202202
```diff
203203
stage('stage-1') {
204204
steps {
205-
+ dir('01-intro/01/1.1') {
205+
+ dir('01-intro/1.1') {
206206
echo "This is the build number $BUILD_NUMBER of demo $DEMO"
207207
sh '''
208208
echo "Using a multi-line shell step"

03-cd/01-jenkins/01-introduccion/02_modelando_workflows_en_pipelines.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Modelando workflows en las pipelines
22

3-
## 1.1 Una pipeline multi-stage
3+
## 2.1 Una pipeline multi-stage
44

5-
- Crear un nuevo Jenkinsfile en `01-intro/02/1.1/Jenkinsfile`
5+
- Crear un nuevo Jenkinsfile en `01-intro/2.1/Jenkinsfile`
66

77
```groovy
88
pipeline {
@@ -31,12 +31,12 @@ pipeline {
3131

3232
Accedemos a Jenkins en http://localhost:8080 con `lemoncode`/`lemoncode`.
3333

34-
- New item, pipeline, `01-intro-02-1.1`
34+
- New item, pipeline, `01-intro-2.1`
3535
- Seleccionamos Pipeline script from SCM
3636
- Seleccionamos Git y añadimos el repo de GitHub con HTTPS.
3737
- Usamos las credenciales de GitHub.
3838
- Reemplazamos `master` por `main` en el nombre de la rama.
39-
- Modificamos la ruta del Jenkinsfile por `01-intro/02/1.1/Jenkinsfile`
39+
- Modificamos la ruta del Jenkinsfile por `01-intro/2.1/Jenkinsfile`
4040
- Ejecutamos y vemos los logs.
4141
- Falla debido a que el step del segundo stage utiliza una variable de entorno desconocida `LOG_LEVEL`.
4242

@@ -46,9 +46,9 @@ groovy.lang.MissingPropertyException: No such property: LOG_LEVEL for class: gro
4646
at groovy.lang.Binding.getVariable(Binding.java:63)
4747
```
4848

49-
## 1.2 Solicitando el input del Usuario
49+
## 2.2 Solicitando el input del Usuario
5050

51-
- Crear un nuevo Jenkinsfile en `01-intro/02/1.2/Jenkinsfile`:
51+
- Crear un nuevo Jenkinsfile en `01-intro/2.2/Jenkinsfile`:
5252

5353
```groovy
5454
pipeline {
@@ -94,9 +94,9 @@ pipeline {
9494

9595
Volvemos a Jenkins http://localhost:8080
9696

97-
- New item, pipeline, de nombre `01-intro-02-1.2`.
98-
- Copy item, seleccionamos `01-intro-02-1.1`.
99-
- Cambiamos la ruta del Jenkinsfile por `01-intro/02/1.2`.
97+
- New item, pipeline, de nombre `01-intro-2.2`.
98+
- Copy item, seleccionamos `01-intro-2.1`.
99+
- Cambiamos la ruta del Jenkinsfile por `01-intro/2.2`.
100100

101101
```groovy
102102
input {
@@ -128,9 +128,9 @@ En el comando _post_ podemos tener diferentes condiciones aquí estamos usando _
128128
- Click en el enlace Input requested
129129
- Post se ejecuta todo el rato
130130

131-
## 1.3 Parallel stages
131+
## 2.3 Parallel stages
132132

133-
- Crear un nuevo Jenkinsfile en `01-intro/01/1.3/Jenkinsfile` en el repo.
133+
- Crear un nuevo Jenkinsfile en `01-intro/2.3/Jenkinsfile` en el repo.
134134

135135
```groovy
136136
pipeline {
@@ -189,9 +189,9 @@ pipeline {
189189

190190
Volver a Jenkins via http://localhost:8080
191191

192-
- New item, pipeline, de nombre `01-intro-02-1.3`.
193-
- Copy item, seleccionamos `01-intro-02-1.2`.
194-
- Cambiamos la ruta del Jenkinsfile por `01-intro/02/1.3`.
192+
- New item, pipeline, de nombre `01-intro-2.3`.
193+
- Copy item, seleccionamos `01-intro-2.2`.
194+
- Cambiamos la ruta del Jenkinsfile por `01-intro/2.3`.
195195

196196
```groovy
197197
parallel {

03-cd/01-jenkins/02-construyendo-pipelines-reusables/01_clean_code_refactor_pipelines.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ $ unzip code.zip
1717

1818
Hacemos `push` de los cambios al repositorio remoto
1919

20-
Creamos `02-pipelines/01/1.1/Jenkinsfile`
20+
Creamos `02-pipelines/1.1/Jenkinsfile`
2121

2222
```groovy
2323
pipeline {
@@ -61,9 +61,9 @@ pipeline {
6161

6262
Accedemos a Jenkins en http://localhost:8080 con `lemoncode`/`lemoncode`.
6363

64-
- New item, pipeline, de nombre `02-pipelines-01-1.1`.
65-
- Copy item, seleccionamos `01-intro-02-1.3`.
66-
- Cambiamos la ruta del Jenkinsfile por `02-pipelines/01/1.1`.
64+
- New item, pipeline, de nombre `02-pipelines-1.1`.
65+
- Copy item, seleccionamos `01-intro-1.3`.
66+
- Cambiamos la ruta del Jenkinsfile por `02-pipelines/1.1`.
6767
- Ejecutamos la build y vemos logs.
6868
- Ejecutamos desde Blue Ocean.
6969

@@ -78,7 +78,7 @@ Creamos un Jenkinsfile similar al anterior pero con los siguientes cambios:
7878
+ booleanParam(name: 'RC', defaultValue: false, description: 'Is this a Release Candidate?')
7979
+ }
8080
environment {
81-
VERSION = sh([ script: 'cd ./01/solution && npx -c \'echo $npm_package_version\'', returnStdout: true ]).trim()
81+
VERSION = sh([ script: 'cd ./02-pipelines/solution && npx -c \'echo $npm_package_version\'', returnStdout: true ]).trim()
8282
VERSION_RC = "rc.2"
8383
}
8484
stages {
@@ -120,7 +120,7 @@ Creamos un Jenkinsfile similar al anterior pero con los siguientes cambios:
120120
expression { return params.RC }
121121
}
122122
steps {
123-
archiveArtifacts('01/solution/app/')
123+
archiveArtifacts('02-pipelines/solution/app/')
124124
}
125125
}
126126
/*diff*/
@@ -178,11 +178,11 @@ pipeline {
178178
}
179179
stage('Build') {
180180
environment {
181-
- VERSION_SUFFIX = "${sh(script:'if [ "${RC}" == "false" ] ; then echo -n "${VERSION_RC}+ci.${BUILD_NUMBER}"; else echo -n "${VERSION_RC}"; fi', returnStdout: true)}"
181+
- VERSION_SUFFIX = "${sh(script:'if [ "${RC}" = "false" ] ; then echo -n "${VERSION_RC}+ci.${BUILD_NUMBER}"; else echo -n "${VERSION_RC}"; fi', returnStdout: true)}"
182182
+ VERSION_SUFFIX = getVersionSuffix()
183183
}
184184
steps {
185-
dir('./01/solution') {
185+
dir('./02-pipelines/solution') {
186186
echo "Building version ${VERSION} with suffix: ${VERSION_SUFFIX}"
187187
sh '''
188188
npm install
@@ -193,7 +193,7 @@ pipeline {
193193
}
194194
stage('Unit Test') {
195195
steps {
196-
dir('./01/solution') {
196+
dir('./02-pipelines/solution') {
197197
sh 'npm test'
198198
}
199199
}
@@ -203,7 +203,7 @@ pipeline {
203203
expression { return params.RC }
204204
}
205205
steps {
206-
archiveArtifacts('01/solution/app/')
206+
archiveArtifacts('02-pipelines/solution/app/')
207207
}
208208
}
209209
}
@@ -229,9 +229,9 @@ pipeline {
229229

230230
Hacemos push de los cambios. Ahora desde Jenkins:
231231

232-
- New item, pipeline, de nombre `02-pipelines-01-1.3`.
233-
- Copy item, seleccionamos `02-pipelines-01-1.2`.
234-
- Cambiamos la ruta del Jenkinsfile por `02-pipelines/01/1.3`.
232+
- New item, pipeline, de nombre `02-pipelines-1.3`.
233+
- Copy item, seleccionamos `02-pipelines-1.2`.
234+
- Cambiamos la ruta del Jenkinsfile por `02-pipelines/1.3`.
235235
- Ejecutamos la build y vemos que no hay opción seleccionada. Vemos logs.
236236
- Refrescamos la web de Jenkins. Ahora aparece Build with parameters. Ejecutar sin activar el check, luego activando el check.
237237
- Ejecutamos desde Blue Ocean.

0 commit comments

Comments
 (0)