Skip to content

Commit 02a3f5f

Browse files
committed
added reference to calculator code exercise on readme
1 parent 119752c commit 02a3f5f

File tree

1 file changed

+40
-42
lines changed

1 file changed

+40
-42
lines changed

03-cd/exercises/README.md

Lines changed: 40 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,60 @@
11
# Ejercicios
2-
2+
33
## Ejercios Jenkins
4-
4+
55
### 1. CI/CD de una Java + Gradle
6-
7-
En el directorio raíz de este [codigo fuente](), crea un `Jenkinsfile` que contenga un pipeline declarativa con los siguinetes stages:
8-
6+
7+
En el directorio raíz de este [código fuente](./jenkins-resources/calcultor), crea un `Jenkinsfile` que contenga un pipeline declarativa con los siguientes stages:
8+
99
* **Checkout** descarga de código desde un repositorio remoto, preferentemente utiliza GitHub.
1010
* **Compile** compilar el código fuente, para ello utilizar `gradlew compileJava`
1111
* **Unit Tests** ejecutar los test unitarios, para ello utilizar `gradlew test`
12-
12+
1313
Para ejecutar Jenkins en local y tener las dependencias necesarias disponibles podemos contruir una imagen a partir de [este Dockerfile](./jenkins-resources/gradle.Dockerfile)
14-
15-
### 2. Modificar la pipeline para que utilice la imagen Docker de Gradle como build runners
16-
14+
15+
### 2. Modificar la pipeline para que utilice la imagen Docker de Gradle como build runners
16+
1717
## Ejercicios GitLab
18-
18+
1919
### 1. CI/CD de una aplicación spring
20-
20+
2121
* Crea un nuevo proyecto en GitLab y un repositorio en el mismo, para la aplicación `springapp`. El código fuente de la misma lo puedes encontrar en este [enlace](../02-gitlab/springapp).
2222
* Sube el código al repositorio recientemente creado en GitLab.
2323
* Crea una pipeline con los siguientes stages:
24-
* maven:build - En este `stage` el código de la aplicación se compila con [maven](https://maven.apache.org/).
25-
* maven:test - En este `stage` ejecutamos los tests utilizando [maven](https://maven.apache.org/).
26-
* docker:build - En este `stage` generamos una nueva imagen de Docker a partir del Dockerfile suministrado en el raíz del proyecto.
27-
* deploy - En este `stage` utilizamos la imagen anteriormente creada, y la hacemos correr en nuestro local
28-
24+
* maven:build - En este `stage` el código de la aplicación se compila con [maven](https://maven.apache.org/).
25+
* maven:test - En este `stage` ejecutamos los tests utilizando [maven](https://maven.apache.org/).
26+
* docker:build - En este `stage` generamos una nueva imagen de Docker a partir del Dockerfile suministrado en el raíz del proyecto.
27+
* deploy - En este `stage` utilizamos la imagen anteriormente creada, y la hacemos correr en nuestro local
28+
2929
* **Pistas**:
30-
- Utiliza la versión de maven 3.6.3
31-
- El comando para realizar una `build` con maven: `mvn clean package`
32-
- El comando para realizar los tests con maven: `mvn verify`
33-
- Cuando despleguemos la aplicación en local, podemos comprobar su ejecución en: `http://localhost:8080`
34-
30+
- Utiliza la versión de maven 3.6.3
31+
- El comando para realizar una `build` con maven: `mvn clean package`
32+
- El comando para realizar los tests con maven: `mvn verify`
33+
- Cuando despleguemos la aplicación en local, podemos comprobar su ejecución en: `http://localhost:8080`
34+
3535
En resumen, la `pipeline` de `CI/CD`, debe hacer la build de la aplicación generando los ficheros jar, hacer los tests de maven y finalmente dockerizar la app (el dockerfile ya se proporciona en el repo) y hacer un deploy en local.
36-
37-
### 2. Crear un usario nuevo y probar que no puede acceder al proyecto anteriormente creado
38-
39-
* Añadirlo con el role `guest`, comprobar que acciones puede hacer.
36+
37+
### 2. Crear un usuario nuevo y probar que no puede acceder al proyecto anteriormente creado
38+
* Añadirlo con el role `guest`, comprobar que acciones puede hacer.
4039
* Cambiar a role `reporter`, comprobar que acciones puede hacer.
4140
* Cambiar a role `developer`, comprobar que acciones puede hacer.
4241
* Cambiar a role `maintainer`, comprobar que acciones puede hacer.
43-
42+
4443
* **Nota** (acciones a probar):
45-
- Commit
46-
- Ejecutar pipeline manualmente
47-
- Push and pull del repo
48-
- Merge request
49-
- Acceder a la administracion del repo
50-
44+
- Commit
45+
- Ejecutar pipeline manualmente
46+
- Push and pull del repo
47+
- Merge request
48+
- Acceder a la administración del repo
49+
5150
### 3. Crear un nuevo repositorio, que contenga una pipeline, que clone otro proyecto, springapp anteriormente creado. Realizarlo de las siguientes maneras:
52-
53-
* Con el método de CI job permissions model
54-
- ¿Que ocurre si el repo que estoy clonando no estoy cómo miembro?
55-
56-
> Pista: https://docs.gitlab.com/ee/user/project/new_ci_build_permissions_model.html (Dependent Repositories)
57-
58-
* Con el método deploy keys
59-
- Crear deploy key en el repo springapp y poner solo lectura
60-
- Crear pipeline que usando la deploy key
6151

62-
> Pista: https://docs.gitlab.com/ee/ci/ssh_keys/
52+
* Con el método de CI job permissions model
53+
- ¿Qué ocurre si el repo que estoy clonando no estoy cómo miembro?
54+
> Pista: https://docs.gitlab.com/ee/user/project/new_ci_build_permissions_model.html (Dependent Repositories)
55+
* Con el método deploy keys
56+
- Crear deploy key en el repo springapp y poner solo lectura
57+
- Crear pipeline que usando la deploy key
58+
> Pista: https://docs.gitlab.com/ee/ci/ssh_keys/
59+
60+

0 commit comments

Comments
 (0)