Skip to content
Snippets Groups Projects
Commit 7f7f0b70 authored by Emmanuel Bruno's avatar Emmanuel Bruno
Browse files

moves to docker-compose.

parent e826fd9f
No related branches found
No related tags found
No related merge requests found
...@@ -9,6 +9,14 @@ name: Docker Image CI ...@@ -9,6 +9,14 @@ name: Docker Image CI
# on every push # on every push
on: [push] on: [push]
env:
GITHUBLOGIN: ${{secrets.GITHUBLOGIN}}
GITHUBPASSWORD: ${{secrets.GITHUBPASSWORD}}
DOCKER_USERNAME: ${{secrets.DOCKER_USERNAME}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
SONAR_URL: ${{secrets.SONAR_URL}}
SONAR_TOKEN: ${{secrets.SONAR_TOKEN}}
jobs: jobs:
maven-build: maven-build:
...@@ -17,5 +25,13 @@ jobs: ...@@ -17,5 +25,13 @@ jobs:
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Get Tag from Maven version
run: echo "TAG=$(docker run -v maven-repo:/root/.m2 -w /usr/src/mymaven -v ${PWD}:/usr/src/mymaven --rm maven:3.8.4-eclipse-temurin-11 mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec|sed s/-SNAPSHOT/.${GITHUB_RUN_NUMBER}/)" >> $GITHUB_ENV
- name: test
run: echo $TAG
- name: Build the Docker image for branch ${GITHUB_REF_NAME} - name: Build the Docker image for branch ${GITHUB_REF_NAME}
run: DOCKER_BUILDKIT=1 docker build . --build-arg GITHUBLOGIN --build-arg GITHUBPASSWORD --build-arg SONAR_URL --build-arg SONAR_TOKEN --file ./docker/Dockerfile --tag brunoe/samplejee91:${GITHUB_REF_NAME} # run: DOCKER_BUILDKIT=1 docker build . --build-arg GITHUBLOGIN --build-arg GITHUBPASSWORD --build-arg SONAR_URL --build-arg SONAR_TOKEN --file ./docker/Dockerfile --tag brunoe/samplejee91:${GITHUB_REF_NAME}
run: COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 BRANCH=${GITHUB_REF_NAME} TAG=${TAG} docker-compose build jakartaEE
- name: Login to DockerHub Registry
run: echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 BRANCH=$(git rev-parse --abbrev-ref HEAD) docker-compose build jakartaEE
...@@ -3,13 +3,15 @@ services: ...@@ -3,13 +3,15 @@ services:
jakartaEE: jakartaEE:
build: build:
args: args:
- BRANCH
- TAG
- GITHUBLOGIN - GITHUBLOGIN
- GITHUBPASSWORD - GITHUBPASSWORD
- SONAR_URL - SONAR_URL
- SONAR_TOKEN - SONAR_TOKEN
context: . context: .
dockerfile: docker/Dockerfile dockerfile: docker/Dockerfile
image: brunoe/samplejee91 image: brunoe/samplejee91:${TAG:-latest}
environment: environment:
- ADMIN_PASSWORD=admin - ADMIN_PASSWORD=admin
ports: ports:
......
### First we build the application in docker in a controlled env ### First we build the application in docker in a controlled env
FROM maven:3.8.4-eclipse-temurin-11 as build FROM maven:3.8.4-eclipse-temurin-11 as build
ARG BRANCH
ARG GITHUBLOGIN ARG GITHUBLOGIN
ARG GITHUBPASSWORD ARG GITHUBPASSWORD
ARG SONAR_HOST ARG SONAR_URL
ARG SONAR_TOKEN ARG SONAR_TOKEN
WORKDIR /app WORKDIR /app
...@@ -19,11 +20,11 @@ COPY docker/settings-docker.xml /usr/share/maven/ref/ ...@@ -19,11 +20,11 @@ COPY docker/settings-docker.xml /usr/share/maven/ref/
COPY . /app/ COPY . /app/
RUN --mount=type=cache,id=mvncache,target=/root/.m2/repository,rw \ RUN --mount=type=cache,id=mvncache,target=/root/.m2/repository,rw \
mvn $MAVEN_CLI_OPTS -Dmaven.test.skip=true verify mvn $MAVEN_CLI_OPTS verify
RUN --mount=type=cache,id=mvncache,target=/root/.m2/repository,rw \ RUN --mount=type=cache,id=mvncache,target=/root/.m2/repository,rw \
if [ "$SONAR_TOKEN" ] ; then \ if [ "$SONAR_TOKEN" ] ; then \
mvn $MAVEN_CLI_OPTS -D sonar.branch.name=${GITHUB_REF#refs/heads/} \ mvn $MAVEN_CLI_OPTS -D sonar.branch.name=${BRANCH} \
--activate-profiles sonar sonar:sonar && \ --activate-profiles sonar sonar:sonar && \
mvn $MAVEN_CLI_OPTS --activate-profiles sonar -pl . sonar-quality-gate:check ; \ mvn $MAVEN_CLI_OPTS --activate-profiles sonar -pl . sonar-quality-gate:check ; \
fi fi
......
#!/bin/bash
docker run \
--env GITHUBLOGIN="$GITHUBLOGIN" \
--env GITHUBPASSWORD="$GITHUBPASSWORD" \
--env SONAR_TOKEN="$SONAR_TOKEN" \
--volume ~/.m2:/var/maven/.m2 \
--volume ~/.sonar:/var/maven/.sonar \
--volume ~/.config:/var/maven/.config \
--volume ~/.ssh:/home/user/.ssh \
--volume ~/.gitconfig:/home/user/.gitconfig \
--volume "$(pwd)":/usr/src/mymaven \
--workdir /usr/src/mymaven \
--rm \
--env PUID="$(id -u)" -e PGID="$(id -g)" \
--env MAVEN_CONFIG=/var/maven/.m2 \
brunoe/maven:3.8.1-jdk-16 \
runuser --user user --group user -- mvn -B -e -T 1C -Duser.home=/var/maven --settings /usr/src/mymaven/.github/ci-settings.xml "$@"
\ No newline at end of file
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>Demo JakartaEE</name>
<modules> <modules>
<module>entites</module> <module>entites</module>
<module>utils</module> <module>utils</module>
...@@ -276,6 +278,20 @@ ...@@ -276,6 +278,20 @@
<artifactId>maven-site-plugin</artifactId> <artifactId>maven-site-plugin</artifactId>
<version>3.9.1</version> <version>3.9.1</version>
</plugin> </plugin>
<!--Sonarquve -->
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.9.1.2184</version>
</plugin>
<plugin>
<groupId>io.github.r0bb3n</groupId>
<artifactId>sonar-quality-gate-maven-plugin</artifactId>
<version>1.1.0</version>
</plugin>
</plugins> </plugins>
</pluginManagement> </pluginManagement>
</build> </build>
...@@ -299,25 +315,5 @@ ...@@ -299,25 +315,5 @@
</repository> </repository>
</repositories> </repositories>
<profiles>
<profile>
<id>sonar</id>
<build>
<plugins>
<!--Sonarquve -->
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.9.1.2184</version>
</plugin>
<plugin>
<groupId>io.github.r0bb3n</groupId>
<artifactId>sonar-quality-gate-maven-plugin</artifactId>
<version>1.1.0</version>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project> </project>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment