diff --git a/.github/workflows/pipeline-ci.yml b/.github/workflows/pipeline-ci.yml
new file mode 100644
index 00000000..24fc1a62
--- /dev/null
+++ b/.github/workflows/pipeline-ci.yml
@@ -0,0 +1,84 @@
+name: CI
+on:
+ push:
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Clonar repo
+ uses: actions/checkout@v4
+
+ - name: Setup Java JDK
+ uses: actions/setup-java@v4.2.1
+ with:
+ java-version: '8'
+ distribution: 'temurin'
+
+
+ # - name: Compilar codigo
+ # run: |
+ # mvn clean package
+ - name: Compilar y Testing
+ run: |
+ mvn clean package jacoco:report
+
+ - name: Cargar reportes Jacoco como
+ uses: actions/upload-artifact@v4.3.3
+ with:
+ name: Reporte Jacoco
+ path: target/site/jacoco/index.html
+
+
+ # - name: Pruebas Unitarias
+ # run: mvn test
+
+ - name: Setup Java JDK 17
+ uses: actions/setup-java@v4.2.1
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+
+ - name: Analisis SonarCloud
+ run: |
+ mvn clean verify org.sonarsource.scanner.maven:sonar-maven-plugin:3.11.0.3922:sonar \
+ -Dsonar.token=${{ secrets.SONAR_TOKEN }} \
+ -Dsonar.host.url=https://sonarcloud.io \
+ -Dsonar.organization=devops-lab-final \
+ -Dsonar.projectKey=devOps-lab-final_microservicio-java
+
+ - name: SonarQube Quality Gate check
+ uses: sonarsource/sonarqube-quality-gate-action@master
+ env:
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
+ with:
+ scanMetadataReportFile: target/sonar/report-task.txt
+
+ - name: Docker Login
+ uses: docker/login-action@v3.1.0
+ with:
+ username: estebanignacio
+ password: ${{secrets.DOCKER_PASS}}
+
+ - name: Set Up Docker
+ uses: docker/setup-buildx-action@v3
+
+ - name: Docker build
+ run: |
+ docker build -t estebanignacio/microservicio-java:latest .
+ - name: Docker push
+ run: |
+ docker push estebanignacio/microservicio-java:latest
+
+ deploy:
+ needs: build
+ runs-on: self-hosted
+ steps:
+ - name: Clonar repo
+ uses: actions/checkout@v4
+
+ - name: Despliegue
+ run: |
+ kubectl apply -f deploy.yaml
+
+
+
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 00000000..07111638
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,5 @@
+FROM openjdk:8-jdk-alpine
+EXPOSE 8080
+ARG JAR_FILE=target/*.jar
+ADD ${JAR_FILE} app.jar
+ENTRYPOINT ["java","-jar","/app.jar"]
diff --git a/deploy.yaml b/deploy.yaml
new file mode 100644
index 00000000..3275cc09
--- /dev/null
+++ b/deploy.yaml
@@ -0,0 +1,20 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: microservicio-java
+spec:
+ replicas: 3
+ selector:
+ matchLabels:
+ app: microservicio-java
+ template:
+ metadata:
+ labels:
+ app: microservicio-java
+ spec:
+ containers:
+ - name: microservicio-java
+ image: estebanignacio/microservicio-java:latest
+ ports:
+ - containerPort: 8080
+
diff --git a/pom.xml b/pom.xml
index a5c9e6e2..744e3252 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,6 +29,18 @@
spring-boot-starter-test
test
+
+ junit
+ junit
+ 4.13.1
+ test
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.12
+
+
@@ -37,7 +49,75 @@
org.springframework.boot
spring-boot-maven-plugin
-
-
-
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.12
+
+
+ default-prepare-agent
+
+ prepare-agent
+
+
+
+ default-prepare-agent-integration
+
+ prepare-agent-integration
+
+
+
+ default-report
+
+ report
+
+
+
+ default-report-integration
+
+ report-integration
+
+
+
+ default-check
+
+ check
+
+
+
+
+ BUNDLE
+
+
+ INSTRUCTION
+ COVEREDRATIO
+ 0.0
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.16
+
+
+ org.apache.maven.plugins
+ maven-failsafe-plugin
+ 2.16
+
+
+ default-integration-test
+
+ integration-test
+
+
+
+
+
+
diff --git a/src/main/java/com/example/testingweb/GreetingService.java b/src/main/java/com/example/testingweb/GreetingService.java
index 6661c82b..6b453c3b 100644
--- a/src/main/java/com/example/testingweb/GreetingService.java
+++ b/src/main/java/com/example/testingweb/GreetingService.java
@@ -5,6 +5,7 @@
@Service
public class GreetingService {
public String greet() {
- return "Hello, World";
+ String password = "12345";
+ return "Hola, soy Esteban Espinoza";
}
}
diff --git a/src/main/java/com/example/testingweb/HomeController.java b/src/main/java/com/example/testingweb/HomeController.java
index 6472ecdf..b7ce366c 100644
--- a/src/main/java/com/example/testingweb/HomeController.java
+++ b/src/main/java/com/example/testingweb/HomeController.java
@@ -9,7 +9,7 @@ public class HomeController {
@RequestMapping("/")
public @ResponseBody String greeting() {
- return "Hello, World";
+ return "Hola , Soy Esteban Espinoza";
}
}