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

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

reactivating whole pipeline

parent 9ddd596d
5 merge requests!132Bringing July Release to production,!128Fixing #315 and #319,!126Continous Deployment with E2E Tests,!125Publish docker image,!119Publish docker image
......@@ -7,158 +7,161 @@ cache:
- .npm/
- node_modules/
stages:
# - lint
# - build
# - test
- lint
- build
- test
- e2e
# - analyze
# - package
# - release
# - deploy
- analyze
- package
- release
- deploy
before_script:
- export NG_CLI_ANALYTICS="false"
- export MAVEN_USER_HOME=`pwd`/.maven
- npm install
# - npm ci --cache .npm --prefer-offline
# 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 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
# script:
# - ./mvnw -ntp compile -P-webapp -Dmaven.repo.local=$MAVEN_USER_HOME
# artifacts:
# paths:
# - target/classes/
# - target/generated-sources/
# expire_in: 10 days
# needs: []
maven-compile:
stage: build
script:
- ./mvnw -ntp compile -P-webapp -Dmaven.repo.local=$MAVEN_USER_HOME
artifacts:
paths:
- target/classes/
- target/generated-sources/
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
# allow_failure: true
# 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
allow_failure: true
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 test
artifacts:
reports:
junit: target/test-results/TESTS-results-jest.xml
paths:
- target/test-results
- target/jacoco
when: always
expire_in: 15 days
needs: []
e2e-test:
stage: e2e
services:
- selenium/standalone-chrome
# dependencies:
# - frontend-test
dependencies:
- frontend-test
script:
- npm install
- wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- dpkg -i google-chrome*.deb
- node --version
- export JHI_E2E_HEADLESS=true
- export E2E_PASSWORD=$E2E_PASSWORD
- npm run e2e --host=selenium__standalone-chrome
# 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
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
# 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:
# # only:
# # refs:
# # - development
# REGISTRY_URL: sharing-codeability.uibk.ac.at:5051
# IMAGE_TAG: sharing-codeability.uibk.ac.at:5051/sharing/codeability-sharing-platform
# script:
# - ./mvnw package -Pprod verify -DskipTests jib:build -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
# when: always
docker-push:
stage: release
only:
refs:
- development
variables:
REGISTRY_URL: sharing-codeability.uibk.ac.at:5051
IMAGE_TAG: sharing-codeability.uibk.ac.at:5051/sharing/codeability-sharing-platform
script:
- ./mvnw package -Pprod verify -DskipTests jib:build -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
when: always
# deploy:
# stage: deploy
# dependencies:
# - 'docker-push'
# image: ubuntu:20.04
# before_script:
# - apt-get update -qy
# - apt-get install -y rsync openssh-client
# - mkdir -p ~/.ssh
# - echo "${SSH_BKY_DEPLOY}" > ~/.ssh/id_rsa
# - chmod 700 ~/.ssh/id_rsa
# - eval "$(ssh-agent -s)"
# - ssh-add ~/.ssh/id_rsa
# - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
# script:
# - whoami
# - ssh contDeploy@codeability-austria -p 1022 "cd /home/michael/gitsearch && git pull && cd src/main/docker/ && docker pull sharing-codeability.uibk.ac.at:5051/sharing/codeability-sharing-platform && GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` COMMIT_ID=`git rev-parse HEAD` SPRING_PROFILES_ACTIVE=staging,swagger docker-compose -f gitsearch.yml up -d --no-deps --build --force-recreate gitsearch-app && exit"
# when: always
deploy:
stage: deploy
only:
refs:
- development
dependencies:
- 'docker-push'
image: ubuntu:20.04
before_script:
- apt-get update -qy
- apt-get install -y rsync openssh-client
- mkdir -p ~/.ssh
- echo "${SSH_BKY_DEPLOY}" > ~/.ssh/id_rsa
- chmod 700 ~/.ssh/id_rsa
- eval "$(ssh-agent -s)"
- ssh-add ~/.ssh/id_rsa
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
script:
- whoami
- ssh contDeploy@codeability-austria -p 1022 "cd /home/michael/gitsearch && git pull && cd src/main/docker/ && docker pull sharing-codeability.uibk.ac.at:5051/sharing/codeability-sharing-platform && GIT_BRANCH=`git rev-parse --abbrev-ref HEAD` COMMIT_ID=`git rev-parse HEAD` SPRING_PROFILES_ACTIVE=staging,swagger docker-compose -f gitsearch.yml up -d --no-deps --build --force-recreate gitsearch-app && exit"
when: always
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