diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000..262a9c7ca --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,87 @@ +stages: + - build + - test + - quality + - package + +cache: + paths: + - .m2/repository + key: "$CI_JOB_NAME" + +build_job: + stage: build + script: + - ./mvnw compile + -Dhttps.protocols=TLSv1.2 + -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository + -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN + -Dorg.slf4j.simpleLogger.showDateTime=true + -Djava.awt.headless=true + --batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true + image: openjdk:8-alpine + +test_job: + stage: test + script: + - ./mvnw test + -Dhttps.protocols=TLSv1.2 + -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository + -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN + -Dorg.slf4j.simpleLogger.showDateTime=true + -Djava.awt.headless=true + --batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true + image: openjdk:8-alpine + +#TESTING : Version du MOOC +#code_quality_job: +# stage: quality +# image: docker:stable +# allow_failure: true +# services: +# - docker:stable-dind +# script: +# - mkdir codequality-results +# - docker run +# --env CODECLIMATE_CODE="$PWD" +# --volume "$PWD":/code +# --volume /var/run/docker.sock:/var/run/docker.sock +# --volume /tmp/cc:/tmp/cc +# codeclimate/codeclimate analyze -f html > ./codequality-results/index.html +# artifacts: +# paths: +# - codequality-results/ + +#TESTING : Version officielle +#@see https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html +include: + - template: Code-Quality.gitlab-ci.yml +code_quality: + stage: quality + variables: + CODE_QUALITY_IMAGE: "registry.gitlab.com/gitlab-org/ci-cd/codequality:latest" + +code_quality_html: + extends: code_quality + variables: + REPORT_FORMAT: html + artifacts: + paths: [gl-code-quality-report.html] + +package_job: + stage: package + services: + - docker:stable-dind + variables: + DOCKER_HOST: tcp://docker:2375 + script: + - apk add --no-cache docker + - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY + - ./mvnw install -PbuildDocker -DskipTests=true -DpushImage + -Dhttps.protocols=TLSv1.2 + -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository + -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN + -Dorg.slf4j.simpleLogger.showDateTime=true + -Djava.awt.headless=true + --batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true + image: openjdk:8-alpine diff --git a/pom.xml b/pom.xml new file mode 100644 index 000000000..cc8d8dafd --- /dev/null +++ b/pom.xml @@ -0,0 +1,274 @@ + + + 4.0.0 + org.springframework.samples + spring-petclinic + 2.1.0.BUILD-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-parent + 2.1.4.RELEASE + + petclinic + + + + + 1.8 + UTF-8 + UTF-8 + + + 3.3.6 + 1.11.4 + 2.2.4 + 1.8.0 + + 0.8.2 + + + + + + + org.springframework.boot + spring-boot-starter-actuator + + + org.springframework.boot + spring-boot-starter-cache + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + org.springframework.boot + spring-boot-starter-test + test + + + + + org.hsqldb + hsqldb + runtime + + + mysql + mysql-connector-java + runtime + + + + + javax.cache + cache-api + + + org.ehcache + ehcache + + + + + org.webjars + webjars-locator-core + + + org.webjars + jquery + ${webjars-jquery.version} + + + org.webjars + jquery-ui + ${webjars-jquery-ui.version} + + + org.webjars + bootstrap + ${webjars-bootstrap.version} + + + + + org.springframework.boot + spring-boot-devtools + true + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + build-info + + + + ${project.build.sourceEncoding} + ${project.reporting.outputEncoding} + ${maven.compiler.source} + ${maven.compiler.target} + + + + + + + org.jacoco + jacoco-maven-plugin + ${jacoco.version} + + + + prepare-agent + + + + report + prepare-package + + report + + + + + + + + pl.project13.maven + git-commit-id-plugin + + + + revision + + + + + true + yyyy-MM-dd'T'HH:mm:ssZ + true + ${project.build.outputDirectory}/git.properties + + false + + + + + ro.isdc.wro4j + wro4j-maven-plugin + ${wro4j.version} + + + generate-resources + + run + + + + + ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory + ${project.build.directory}/classes/static/resources/css + ${basedir}/src/main/wro/wro.xml + ${basedir}/src/main/wro/wro.properties + ${basedir}/src/main/less + + + + org.webjars + bootstrap + ${webjars-bootstrap.version} + + + org.mockito + mockito-core + ${mockito.version} + + + + + + + + + + Apache License, Version 2.0 + https://www.apache.org/licenses/LICENSE-2.0 + + + + + + spring-snapshots + Spring Snapshots + https://repo.spring.io/snapshot + + true + + + + gitlab-maven + https://gitlab.com/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven + + + spring-milestones + Spring Milestones + https://repo.spring.io/milestone + + false + + + + + + + gitlab-maven + https://gitlab.com/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven + + + gitlab-maven + https://gitlab.com/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven + + + + + + spring-snapshots + Spring Snapshots + https://repo.spring.io/snapshot + + true + + + + spring-milestones + Spring Milestones + https://repo.spring.io/milestone + + false + + + + +