diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000..a66d3c9bf --- /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:16-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:16-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:16-alpine