|
1 | 1 | # Ejercicios
|
2 | 2 |
|
3 |
| -## Ejercicios GitLab |
| 3 | +## Ejercios Jenkins |
4 | 4 |
|
5 |
| -### CI/CD de una aplicación spring |
| 5 | +### 1. CI/CD de una aplicación NodeJS + TypeScript |
6 | 6 |
|
7 |
| -* Crea un nuevo repositorio en GitLab para la aplicación `springapp`, el código fuente de la misma lo puedes encontrar en este [enlace](../02-gitlab/springapp) |
| 7 | +## Ejercicios GitLab |
8 | 8 |
|
9 |
| -## GitLab |
| 9 | +### 1. CI/CD de una aplicación spring |
| 10 | + |
| 11 | +* 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). |
| 12 | +* Sube el código al repositorio recientemente creado en GitLab. |
| 13 | +* Crea una pipeline con los siguientes stages: |
| 14 | + * maven:build - En este `stage` el código de la aplicación se compila con [maven](https://maven.apache.org/). |
| 15 | + * maven:test - En este `stage` ejecutamos los tests utilizando [maven](https://maven.apache.org/). |
| 16 | + * docker:build - En este `stage` generamos una nueva imagen de Docker a partir del Dockerfile suministrado en el raíz del proyecto. |
| 17 | + * deploy - En este `stage` utilizamos la imagen anteriormente creada, y la hacemos correr en nuestro local |
| 18 | + |
| 19 | +* **Pistas**: |
| 20 | + - Utiliza la versión de maven 3.6.3 |
| 21 | + - El comando para realizar una `build` con maven: `mvn clean package` |
| 22 | + - El comando para realizar los tests con maven: `mvn verify` |
| 23 | + - Cuando despleguemos la aplicación en local, podemos comprobar su ejecución en: `http://localhost:8080` |
| 24 | + |
| 25 | +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. |
| 26 | + |
| 27 | +### 2. Crear un usario nuevo y probar que no puede acceder al proyecto anteriormente creado |
| 28 | + |
| 29 | +* Añadirlo con el role `guest`, comprobar que acciones puede hacer. |
| 30 | +* Cambiar a role `reporter`, comprobar que acciones puede hacer. |
| 31 | +* Cambiar a role `developer`, comprobar que acciones puede hacer. |
| 32 | +* Cambiar a role `maintainer`, comprobar que acciones puede hacer. |
| 33 | + |
| 34 | +* **Nota** (acciones a probar): |
| 35 | + - Commit |
| 36 | + - Ejecutar pipeline manualmente |
| 37 | + - Push and pull del repo |
| 38 | + - Merge request |
| 39 | + - Acceder a la administracion del repo |
| 40 | + |
| 41 | +### 3. Crear un nuevo repositorio, que contenga una pipeline, que clone otro proyecto, springapp anteriormente creado. Realizarlo de las siguientes maneras: |
| 42 | + |
| 43 | +* Con el método de CI job permissions model |
| 44 | + - ¿Que ocurre si el repo que estoy clonando no estoy cómo miembro? |
| 45 | + |
| 46 | +> Pista: https://docs.gitlab.com/ee/user/project/new_ci_build_permissions_model.html (Dependent Repositories) |
| 47 | + |
| 48 | +* Con el método deploy keys |
| 49 | + - Crear deploy key en el repo springapp y poner solo lectura |
| 50 | + - Crear pipeline que usando la deploy key |
| 51 | + |
| 52 | +> Pista: https://docs.gitlab.com/ee/ci/ssh_keys/ |
| 53 | +
|
| 54 | +## Ejercicios AzureDevops |
10 | 55 |
|
11 |
| -Ejercicios Gitlab |
12 | 56 |
|
13 |
| -1. Crear APP spring |
14 |
| -- Crear repositorio springapp |
15 |
| -- Push al repo el contenido de la carpeta springapp proporcionada en github. |
16 |
| -- Crear los siguientes stages : |
17 |
| - • maven:build |
18 |
| - • maven:test |
19 |
| - • docker:build |
20 |
| - • deploy |
21 |
| - Pistas: |
22 |
| - • version maven 3.6.3 |
23 |
| - • Comando build de maven → mvn clean package |
24 |
| - • Comando test de maven → mvn verify |
25 |
| - • La url para comprobar la app es http://localhost:8080 |
26 |
| - |
27 |
| -El pipeline debe hacer el build de la aplicación 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. |
28 |
| - |
29 |
| - |
30 |
| -2. Crear un usario nuevo y probar que no puede acceder a éste proyecto |
31 |
| - • Añadirlo con el role guest (Comprobar que acciones puede hacer) |
32 |
| - • Cambiar a role reporter (Comprobar que acciones puede hacer) |
33 |
| - • Cambiar a role developer (Comprobar que acciones puede hacer) |
34 |
| - • Cambiar a role maintainer (Comprobar que acciones puede hacer) |
35 |
| - |
36 |
| -Nota: Cosas a probar |
37 |
| - • Commit |
38 |
| - • Ejecutar pipeline manualmente |
39 |
| - • Push and pull del repo |
40 |
| - • Merge request |
41 |
| - • Acceder a la administracion del repo |
42 |
| - |
43 |
| - |
44 |
| -3. Crear nuevo repositorio y vamos a hacer un pipeline que lo que haga sea hacer un clone de otro proyecto por ejemplo el springapp. Vamos a realizar de dos maneras: |
45 |
| - • Con el método de CI job permissions model |
46 |
| - ◦ ¿Que ocurre si el repo que estoy clonando no estoy cómo miembro? |
47 |
| - Pista: https://docs.gitlab.com/ee/user/project/new_ci_build_permissions_model.html (Dependent Repositories) |
48 |
| - |
49 |
| - • Con el método deploy keys |
50 |
| - ◦ Crear deploy key en el repo springapp y poner solo lectura |
51 |
| - ◦ Crear pipeline que usando la deploy key |
52 |
| - Pista: https://docs.gitlab.com/ee/ci/ssh_keys/ |
|
0 commit comments