image: sharing-codeability.uibk.ac.at:5051/sharing/codeability-sharing-platform/root-jhipster cache: key: '$CI_COMMIT_REF_SLUG' paths: - .maven/ - .npm/ - node_modules/ stages: # - lint # - build # - test - e2e # - analyze # - package # - release # - deploy before_script: - export NG_CLI_ANALYTICS="false" - export MAVEN_USER_HOME=`pwd`/.maven # - 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 # 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: [] # 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: [] e2e-test: stage: e2e services: - selenium/standalone-chrome # dependencies: # - frontend-test script: - npm install - apt-get update - apt-get install -y default-jre - apt-get install -y xvfb - apt-get install -y zip - apt-get install -y wget - apt-get install -y ca-certificates - apt-get install -y libnss3-dev libasound2 libxss1 libappindicator3-1 libindicator7 gconf-service libgconf-2-4 libpango1.0-0 xdg-utils fonts-liberation libgbm1 - 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 - echo $E2E_PASSWORD - 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 # 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 # 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