Skip to content

Commit b270291

Browse files
committed
added GitLab exercise
1 parent bf1227c commit b270291

File tree

1 file changed

+49
-45
lines changed

1 file changed

+49
-45
lines changed

03-cd/exercises/README.md

Lines changed: 49 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,56 @@
11
# Ejercicios
22

3-
## Ejercicios GitLab
3+
## Ejercios Jenkins
44

5-
### CI/CD de una aplicación spring
5+
### 1. CI/CD de una aplicación NodeJS + TypeScript
66

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
88

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
1055

11-
Ejercicios Gitlab
1256

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

Comments
 (0)