Skip to content

Commit 991b4db

Browse files
committed
added readme exercise Jenkins
1 parent b270291 commit 991b4db

File tree

3 files changed

+42
-4
lines changed

3 files changed

+42
-4
lines changed

03-cd/02-gitlab/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ user@localhost:~02-gitlab/$ sudo vagrant up
7474
- Redeploy de la aplicación
7575
- Rollback de la aplicación
7676
8. Ejemplo de aplicación spring con tests
77-
9. Conatiner Registry
77+
9. Container Registry
7878
- Creando nuestras propias imágenes base
7979
- usando nuestras propias imágenes base
8080
10. Gitlab Pages

03-cd/exercises/README.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,15 @@
22

33
## Ejercios Jenkins
44

5-
### 1. CI/CD de una aplicación NodeJS + TypeScript
5+
### 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+
9+
* **Checkout** descarga de código desde un repositorio remoto, preferentemente utiliza GitHub.
10+
* **Compile** compilar el código fuente, para ello utilizar `gradlew compileJava`
11+
* **Unit Tests** ejecutar los test unitarios, para ello utilizar `gradlew test`
12+
13+
Para ejecutar Jenkins en local y tener las dependencias necesarias disponibles podemos contruir una imagen a partir de [este Dockerfile](./jenkins-resources/gradle.Dockerfile)
614

715
## Ejercicios GitLab
816

@@ -51,6 +59,6 @@ En resumen, la `pipeline` de `CI/CD`, debe hacer la build de la aplicación gene
5159

5260
> Pista: https://docs.gitlab.com/ee/ci/ssh_keys/
5361
54-
## Ejercicios AzureDevops
55-
62+
## Ejercicios Azure DevOps (Opcional)
5663

64+
### 1. Crea una pipeline con cualquiera de los proyectos anteriores
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
FROM jenkins/jenkins:lts
2+
3+
USER root
4+
5+
# Reference install gradle: https://medium.com/@migueldoctor/how-to-create-a-custom-docker-image-with-jdk8-maven-and-gradle-ddc90f41cee4
6+
RUN apt update
7+
8+
# Gradle version
9+
ARG GRADLE_VERSION=6.6.1
10+
11+
# Define the URL where gradle can be downloaded
12+
ARG GRADLE_BASE_URL=https://services.gradle.org/distributions
13+
14+
# Define the SHA key to validate the gradle download
15+
ARG GRADLE_SHA=7873ed5287f47ca03549ab8dcb6dc877ac7f0e3d7b1eb12685161d10080910ac
16+
17+
# Create the directories, download gradle, validate the download
18+
# install it remove download file and set links
19+
RUN mkdir -p /usr/share/gradle /usr/share/gradle/ref \
20+
&& echo "Downloading gradle hash" \
21+
&& curl -fsSL -o /tmp/gradle.zip ${GRADLE_BASE_URL}/gradle-${GRADLE_VERSION}-bin.zip \
22+
&& echo "Checking download hash" \
23+
&& echo "${GRADLE_SHA} /tmp/gradle.zip" | sha256sum -c - \
24+
&& echo "Unziping gradle" && unzip -d /usr/share/gradle /tmp/gradle.zip \
25+
&& echo "Clenaing and setting links" && rm -f /tmp/gradle.zip \
26+
&& ln -s /usr/share/gradle/gradle-${GRADLE_VERSION} /usr/bin/gradle
27+
28+
ENV GRADLE_VERSION 6.6.1
29+
ENV GRADLE_HOME /usr/bin/gradle
30+
ENV PATH $PATH:$GRADLE_HOME/bin

0 commit comments

Comments
 (0)