This is the codeAbility Sharing Platform! Learn more about the codeAbility Sharing Platform.

Skip to content
Snippets Groups Projects
Commit 9e4871d9 authored by Eduard Frankford's avatar Eduard Frankford
Browse files

run full pipeline and execute publish on specific branch only

parent 3251dad6
5 merge requests!132Bringing July Release to production,!128Fixing #315 and #319,!126Continous Deployment with E2E Tests,!125Publish docker image,!119Publish docker image
......@@ -5,11 +5,11 @@ cache:
paths:
- .maven/
stages:
# - lint
- lint
- build
# - test
# - analyze
# - package
- test
- analyze
- package
- release
# - deploy
......@@ -17,34 +17,34 @@ before_script:
- export NG_CLI_ANALYTICS="false"
- export MAVEN_USER_HOME=`pwd`/.maven
# pmdCheckstylePrettierLint:
# stage: lint
# cache: {}
# when: always
# before_script:
# - 'export VERSION="6.40.0"'
# - 'wget "https://github.com/pmd/pmd/releases/download/pmd_releases%2F$VERSION/pmd-bin-$VERSION.zip"'
# - 'jar -xf "pmd-bin-$VERSION.zip"'
# - 'chmod u+x "pmd-bin-$VERSION/bin/run.sh"'
# script:
# - SUCCESS=true
# - echo "Running PMD"
# - '"pmd-bin-$VERSION/bin/run.sh" pmd -d src/main/java -f textcolor -R pmd_rules.xml 2>&1 | tee pmd.log || SUCCESS=false'
# - echo "Running checkstyle"
# - ./mvnw -ntp checkstyle:check -Dmaven.repo.local=$MAVEN_USER_HOME || SUCCESS=false
# - echo "Running prettier"
# - npm install
# - npm run prettier:check
# - echo "Running eslint"
# - 'npm run lint | tee lint.log'
# - "! grep -qE '✖ [0-9]+ problem' lint.log || SUCCESS=false"
# - $SUCCESS
# needs: []
# artifacts:
# when: on_failure
# expire_in: 30 days
# paths:
# - pmd.log
pmdCheckstylePrettierLint:
stage: lint
cache: {}
when: always
before_script:
- 'export VERSION="6.40.0"'
- 'wget "https://github.com/pmd/pmd/releases/download/pmd_releases%2F$VERSION/pmd-bin-$VERSION.zip"'
- 'jar -xf "pmd-bin-$VERSION.zip"'
- 'chmod u+x "pmd-bin-$VERSION/bin/run.sh"'
script:
- SUCCESS=true
- echo "Running PMD"
- '"pmd-bin-$VERSION/bin/run.sh" pmd -d src/main/java -f textcolor -R pmd_rules.xml 2>&1 | tee pmd.log || SUCCESS=false'
- echo "Running checkstyle"
- ./mvnw -ntp checkstyle:check -Dmaven.repo.local=$MAVEN_USER_HOME || SUCCESS=false
- echo "Running prettier"
- npm install
- npm run prettier:check
- echo "Running eslint"
- 'npm run lint | tee lint.log'
- "! grep -qE '✖ [0-9]+ problem' lint.log || SUCCESS=false"
- $SUCCESS
needs: []
artifacts:
when: on_failure
expire_in: 30 days
paths:
- pmd.log
maven-compile:
stage: build
......@@ -57,71 +57,73 @@ maven-compile:
expire_in: 10 days
needs: []
# maven-test:
# # DinD service is required for Testcontainers
# services:
# - docker:20-dind
# variables:
# # Instruct Testcontainers to use the daemon of DinD.
# DOCKER_HOST: 'tcp://docker:2375'
# DOCKER_TLS_CERTDIR: ''
# stage: test
# script:
# - ./mvnw -ntp verify -P-webapp -Dmaven.repo.local=$MAVEN_USER_HOME -Dspring.profiles.active=testcontainers
# artifacts:
# reports:
# junit:
# - target/surefire-reports/TEST-*.xml
# - target/failsafe-reports/TEST-*.xml
# paths:
# - target/surefire-reports
# - target/failsafe-reports
# - target/site
# when: always
# expire_in: 15 days
# needs: []
maven-test:
# DinD service is required for Testcontainers
services:
- docker:20-dind
variables:
# Instruct Testcontainers to use the daemon of DinD.
DOCKER_HOST: 'tcp://docker:2375'
DOCKER_TLS_CERTDIR: ''
stage: test
script:
- ./mvnw -ntp verify -P-webapp -Dmaven.repo.local=$MAVEN_USER_HOME -Dspring.profiles.active=testcontainers
artifacts:
reports:
junit:
- target/surefire-reports/TEST-*.xml
- target/failsafe-reports/TEST-*.xml
paths:
- target/surefire-reports
- target/failsafe-reports
- target/site
when: always
expire_in: 15 days
needs: []
# frontend-test:
# stage: test
# cache: {}
# script:
# - npm install
# - npm test
# artifacts:
# reports:
# junit: target/test-results/TESTS-results-jest.xml
# paths:
# - target/test-results
# - target/jacoco
# when: always
# expire_in: 15 days
# needs: []
frontend-test:
stage: test
cache: {}
script:
- npm install
- npm test
artifacts:
reports:
junit: target/test-results/TESTS-results-jest.xml
paths:
- target/test-results
- target/jacoco
when: always
expire_in: 15 days
needs: []
# sonar-analyze:
# stage: analyze
# dependencies:
# - maven-test
# - frontend-test
# script:
# - ./mvnw -ntp org.jacoco:jacoco-maven-plugin:prepare-agent initialize sonar:sonar -Dsonar.organization=codeAbility -Dsonar.host.url=https://qe-sonarqube.uibk.ac.at/ -Dsonar.login=${SONAR_TOKEN_QE} -Dmaven.repo.local=$MAVEN_USER_HOME
# # - ./mvnw -ntp org.jacoco:jacoco-maven-plugin:prepare-agent initialize sonar:sonar -Dsonar.organization=codeAbility -Dsonar.host.url=https://server.arctis.at/sonar/ -Dsonar.login=${SONAR_TOKEN} -Dmaven.repo.local=$MAVEN_USER_HOME
# allow_failure: true
sonar-analyze:
stage: analyze
dependencies:
- maven-test
- frontend-test
script:
- ./mvnw -ntp org.jacoco:jacoco-maven-plugin:prepare-agent initialize sonar:sonar -Dsonar.organization=codeAbility -Dsonar.host.url=https://qe-sonarqube.uibk.ac.at/ -Dsonar.login=${SONAR_TOKEN_QE} -Dmaven.repo.local=$MAVEN_USER_HOME
# - ./mvnw -ntp org.jacoco:jacoco-maven-plugin:prepare-agent initialize sonar:sonar -Dsonar.organization=codeAbility -Dsonar.host.url=https://server.arctis.at/sonar/ -Dsonar.login=${SONAR_TOKEN} -Dmaven.repo.local=$MAVEN_USER_HOME
allow_failure: true
# maven-package:
# stage: package
# script:
# - ./mvnw -ntp verify -Pprod -DskipTests -Dmaven.repo.local=$MAVEN_USER_HOME
# artifacts:
# paths:
# - target/*.jar
# - target/classes
# expire_in: 15 days
maven-package:
stage: package
script:
- ./mvnw -ntp verify -Pprod -DskipTests -Dmaven.repo.local=$MAVEN_USER_HOME
artifacts:
paths:
- target/*.jar
- target/classes
expire_in: 15 days
# Uncomment the following line to use gitlabs container registry. You need to adapt the REGISTRY_URL in case you are not using gitlab.com
docker-push:
stage: release
variables:
REGISTRY_URL: sharing-codeability.uibk.ac.at:5051
IMAGE_TAG: sharing-codeability.uibk.ac.at:5051/sharing/codeability-sharing-platform
rules:
- if: $CI_COMMIT_BRANCH == "publish_docker_image"
script:
- ./mvnw -ntp verify -Pprod -DskipTests -Dmaven.repo.local=$MAVEN_USER_HOME
- ./mvnw -ntp jib:build -Pprod -Djib.to.image=$IMAGE_TAG -Djib.to.auth.username=gitlab-ci-token -Djib.to.auth.password=$CI_BUILD_TOKEN -Dmaven.repo.local=$MAVEN_USER_HOME
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment