Skip to content
Snippets Groups Projects
Verified Commit acfa3ea8 authored by Martin Weise's avatar Martin Weise
Browse files

Remote debug the SonarQube stage

parent 5a7561b5
No related branches found
No related tags found
No related merge requests found
...@@ -41,41 +41,41 @@ build-metadata-service: ...@@ -41,41 +41,41 @@ build-metadata-service:
script: script:
- "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests" - "mvn -f ./dbrepo-metadata-service/pom.xml clean install $MAVEN_OPTS -DskipTests"
build-analyse-service: #build-analyse-service:
image: docker.io/python:3.11-alpine # image: docker.io/python:3.11-alpine
stage: build # stage: build
except: # except:
refs: # refs:
- /^release-.*/ # - /^release-.*/
variables: # variables:
PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile" # PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
script: # script:
- "pip install pipenv" # - "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy" # - "pipenv install gunicorn && pipenv install --dev --system --deploy"
#
build-data-db-sidecar: #build-data-db-sidecar:
image: docker.io/python:3.11-alpine # image: docker.io/python:3.11-alpine
stage: build # stage: build
except: # except:
refs: # refs:
- /^release-.*/ # - /^release-.*/
variables: # variables:
PIPENV_PIPFILE: "./dbrepo-data-db/sidecar/Pipfile" # PIPENV_PIPFILE: "./dbrepo-data-db/sidecar/Pipfile"
script: # script:
- "pip install pipenv" # - "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy" # - "pipenv install gunicorn && pipenv install --dev --system --deploy"
#
build-lib: #build-lib:
image: docker.io/python:3.11-alpine # image: docker.io/python:3.11-alpine
stage: build # stage: build
except: # except:
refs: # refs:
- /^release-.*/ # - /^release-.*/
variables: # variables:
PIPENV_PIPFILE: "./lib/python/Pipfile" # PIPENV_PIPFILE: "./lib/python/Pipfile"
script: # script:
- "pip install pipenv" # - "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy" # - "pipenv install gunicorn && pipenv install --dev --system --deploy"
build-data-service: build-data-service:
image: maven:3-openjdk-17 image: maven:3-openjdk-17
...@@ -90,78 +90,78 @@ build-data-service: ...@@ -90,78 +90,78 @@ build-data-service:
script: script:
- "mvn -f ./dbrepo-data-service/pom.xml clean package $MAVEN_OPTS -DskipTests" - "mvn -f ./dbrepo-data-service/pom.xml clean package $MAVEN_OPTS -DskipTests"
build-ui: #build-ui:
image: oven/bun:1.0.26-alpine # image: oven/bun:1.0.26-alpine
stage: build # stage: build
except: # except:
refs: # refs:
- /^release-.*/ # - /^release-.*/
script: # script:
- "cd ./dbrepo-ui && bun install && bun run build" # - "cd ./dbrepo-ui && bun install && bun run build"
#
build-search-service: #build-search-service:
image: docker.io/python:3.11-alpine # image: docker.io/python:3.11-alpine
stage: build # stage: build
except: # except:
refs: # refs:
- /^release-.*/ # - /^release-.*/
script: # script:
- "pip install pipenv" # - "pip install pipenv"
- "cd dbrepo-search-service && pipenv install --system --deploy" # - "cd dbrepo-search-service && pipenv install --system --deploy"
#
build-docker: #build-docker:
image: docker.io/docker:24-dind # image: docker.io/docker:24-dind
stage: build # stage: build
except: # except:
refs: # refs:
- /^release-.*/ # - /^release-.*/
before_script: # before_script:
- echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL # - echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
script: # script:
- "cp .env.unix.example .env" # - "cp .env.unix.example .env"
- "docker build -t dbrepo-metadata-service:build --target build dbrepo-metadata-service" # - "docker build -t dbrepo-metadata-service:build --target build dbrepo-metadata-service"
- "docker build -t dbrepo-data-service:build --target build dbrepo-data-service" # - "docker build -t dbrepo-data-service:build --target build dbrepo-data-service"
- "docker compose build --parallel" # - "docker compose build --parallel"
#
build-helm: #build-helm:
image: docker.io/docker:24-dind # image: docker.io/docker:24-dind
stage: build # stage: build
except: # except:
refs: # refs:
- /^release-.*/ # - /^release-.*/
before_script: # before_script:
- echo "$CI_GPG_KEYRING" | base64 -d > ./secring.gpg # - echo "$CI_GPG_KEYRING" | base64 -d > ./secring.gpg
- echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL # - echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
script: # script:
- apk add sed helm curl # - apk add sed helm curl
- helm package ./helm/dbrepo --destination ./build # - helm package ./helm/dbrepo --destination ./build
#
verify-install-script: #verify-install-script:
image: docker.io/docker:24-dind # image: docker.io/docker:24-dind
stage: verify # stage: verify
only: # only:
refs: # refs:
- /^release-.*/ # - /^release-.*/
variables: # variables:
SKIP_CHECKS: 1 # SKIP_CHECKS: 1
script: # script:
- apk add bash curl # - apk add bash curl
- bash install.sh # - bash install.sh
- exit 0 # - exit 0
#
lint-helm: #lint-helm:
image: docker.io/docker:24-dind # image: docker.io/docker:24-dind
stage: lint # stage: lint
except: # except:
refs: # refs:
- /^release-.*/ # - /^release-.*/
needs: # needs:
- build-metadata-service # - build-metadata-service
dependencies: # dependencies:
- build-metadata-service # - build-metadata-service
script: # script:
- apk add sed helm curl # - apk add sed helm curl
- helm lint ./helm/dbrepo # - helm lint ./helm/dbrepo
test-metadata-service: test-metadata-service:
image: maven:3-openjdk-17 image: maven:3-openjdk-17
...@@ -209,86 +209,86 @@ test-data-service: ...@@ -209,86 +209,86 @@ test-data-service:
junit: ./dbrepo-data-service/rest-service/target/surefire-reports/TEST-*.xml junit: ./dbrepo-data-service/rest-service/target/surefire-reports/TEST-*.xml
coverage: '/Total.*?([0-9]{1,3})%/' coverage: '/Total.*?([0-9]{1,3})%/'
test-analyse-service: #test-analyse-service:
image: docker.io/python:3.11-alpine # image: docker.io/python:3.11-alpine
stage: test # stage: test
except: # except:
refs: # refs:
- /^release-.*/ # - /^release-.*/
variables: # variables:
PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile" # PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
needs: # needs:
- build-analyse-service # - build-analyse-service
dependencies: # dependencies:
- build-analyse-service # - build-analyse-service
script: # script:
- "pip install pipenv" # - "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy" # - "pipenv install gunicorn && pipenv install --dev --system --deploy"
- cd ./dbrepo-analyse-service/ && coverage run -m pytest test/test_determine_dt.py test/test_determine_pk.py test/test_s3_client.py --junitxml=report.xml && coverage html --omit="test/*" && coverage report --omit="test/*" > ./coverage.txt # - cd ./dbrepo-analyse-service/ && coverage run -m pytest test/test_determine_dt.py test/test_determine_pk.py test/test_s3_client.py --junitxml=report.xml && coverage html --omit="test/*" && coverage report --omit="test/*" > ./coverage.txt
- "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" # - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
artifacts: # artifacts:
when: always # when: always
paths: # paths:
- ./dbrepo-analyse-service/report.xml # - ./dbrepo-analyse-service/report.xml
- ./dbrepo-analyse-service/coverage.txt # - ./dbrepo-analyse-service/coverage.txt
expire_in: 1 days # expire_in: 1 days
reports: # reports:
junit: ./dbrepo-analyse-service/report.xml # junit: ./dbrepo-analyse-service/report.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/' # coverage: '/TOTAL.*?([0-9]{1,3})%/'
#
test-search-service: #test-search-service:
image: docker.io/python:3.11-alpine # image: docker.io/python:3.11-alpine
stage: test # stage: test
except: # except:
refs: # refs:
- /^release-.*/ # - /^release-.*/
variables: # variables:
PIPENV_PIPFILE: "./dbrepo-search-service/Pipfile" # PIPENV_PIPFILE: "./dbrepo-search-service/Pipfile"
needs: # needs:
- build-search-service # - build-search-service
dependencies: # dependencies:
- build-search-service # - build-search-service
script: # script:
- "pip install pipenv" # - "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy" # - "pipenv install gunicorn && pipenv install --dev --system --deploy"
- cd ./dbrepo-search-service/ && coverage run -m pytest test/test_opensearch_client.py --junitxml=report.xml && coverage html --omit="test/*" && coverage report --omit="test/*" > ./coverage.txt # - cd ./dbrepo-search-service/ && coverage run -m pytest test/test_opensearch_client.py --junitxml=report.xml && coverage html --omit="test/*" && coverage report --omit="test/*" > ./coverage.txt
- "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" # - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
artifacts: # artifacts:
when: always # when: always
paths: # paths:
- ./dbrepo-search-service/report.xml # - ./dbrepo-search-service/report.xml
- ./dbrepo-search-service/coverage.txt # - ./dbrepo-search-service/coverage.txt
expire_in: 1 days # expire_in: 1 days
reports: # reports:
junit: ./dbrepo-search-service/report.xml # junit: ./dbrepo-search-service/report.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/' # coverage: '/TOTAL.*?([0-9]{1,3})%/'
#
test-lib: #test-lib:
image: docker.io/python:3.11-alpine # image: docker.io/python:3.11-alpine
stage: test # stage: test
except: # except:
refs: # refs:
- /^release-.*/ # - /^release-.*/
variables: # variables:
PIPENV_PIPFILE: "./lib/python/Pipfile" # PIPENV_PIPFILE: "./lib/python/Pipfile"
needs: # needs:
- build-lib # - build-lib
dependencies: # dependencies:
- build-lib # - build-lib
script: # script:
- "pip install pipenv" # - "pip install pipenv"
- "pipenv install gunicorn && pipenv install --dev --system --deploy" # - "pipenv install gunicorn && pipenv install --dev --system --deploy"
- cd ./lib/python/ && coverage run -m pytest tests/test_unit_analyse.py tests/test_unit_container.py tests/test_unit_database.py tests/test_unit_identifier.py tests/test_unit_license.py tests/test_unit_query.py tests/test_unit_rest_client.py tests/test_unit_table.py tests/test_unit_user.py tests/test_unit_view.py --junitxml=report.xml && coverage html --omit="test/*" && coverage report --omit="test/*" > ./coverage.txt # - cd ./lib/python/ && coverage run -m pytest tests/test_unit_analyse.py tests/test_unit_container.py tests/test_unit_database.py tests/test_unit_identifier.py tests/test_unit_license.py tests/test_unit_query.py tests/test_unit_rest_client.py tests/test_unit_table.py tests/test_unit_user.py tests/test_unit_view.py --junitxml=report.xml && coverage html --omit="test/*" && coverage report --omit="test/*" > ./coverage.txt
- "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'" # - "cat ./coverage.txt | grep -o 'TOTAL[^%]*%'"
artifacts: # artifacts:
when: always # when: always
paths: # paths:
- ./lib/python/report.xml # - ./lib/python/report.xml
- ./lib/python/coverage.txt # - ./lib/python/coverage.txt
expire_in: 1 days # expire_in: 1 days
reports: # reports:
junit: ./lib/python/report.xml # junit: ./lib/python/report.xml
coverage: '/TOTAL.*?([0-9]{1,3})%/' # coverage: '/TOTAL.*?([0-9]{1,3})%/'
scan-sonarqube: scan-sonarqube:
image: sonarsource/sonar-scanner-cli:10.0 image: sonarsource/sonar-scanner-cli:10.0
...@@ -310,103 +310,103 @@ scan-sonarqube: ...@@ -310,103 +310,103 @@ scan-sonarqube:
paths: paths:
- sonar-scanner/ - sonar-scanner/
docs-registry: #docs-registry:
stage: docs # stage: docs
image: docker.io/python:3.11-slim # image: docker.io/python:3.11-slim
only: # only:
refs: # refs:
- /^release-.*/ # - /^release-.*/
before_script: # before_script:
- "apt-get update && apt-get install -y sed" # - "apt-get update && apt-get install -y sed"
script: # script:
- pip install -r ./requirements.txt # - pip install -r ./requirements.txt
- python3 .docs/docker/release.py # - python3 .docs/docker/release.py
#
release-images: #release-images:
stage: release # stage: release
image: docker:24-dind # image: docker:24-dind
dependencies: # dependencies:
- test-metadata-service # - test-metadata-service
- test-data-service # - test-data-service
- test-analyse-service # - test-analyse-service
only: # only:
refs: # refs:
- /^release-.*/ # - /^release-.*/
before_script: # before_script:
- "docker logout ${CI_REGISTRY_URL}" # - "docker logout ${CI_REGISTRY_URL}"
- "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}" # - "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}"
- "docker logout ${CI_REGISTRY2_URL}" # - "docker logout ${CI_REGISTRY2_URL}"
- "echo ${CI_REGISTRY2_PASSWORD} | docker login --username ${CI_REGISTRY2_USER} --password-stdin ${CI_REGISTRY2_URL}" # - "echo ${CI_REGISTRY2_PASSWORD} | docker login --username ${CI_REGISTRY2_USER} --password-stdin ${CI_REGISTRY2_URL}"
- "ifconfig eth0 mtu 1450 up" # - "ifconfig eth0 mtu 1450 up"
- "apk add make bash" # - "apk add make bash"
script: # script:
- "make release-images" # - "make release-images"
#
release-helm: #release-helm:
stage: release # stage: release
image: docker:24-dind # image: docker:24-dind
only: # only:
refs: # refs:
- /^release-.*/ # - /^release-.*/
except: # except:
refs: # refs:
- release-latest # - release-latest
before_script: # before_script:
- "docker logout ${CI_REGISTRY_URL}" # - "docker logout ${CI_REGISTRY_URL}"
- "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}" # - "echo ${CI_REGISTRY_PASSWORD} | docker login --username ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY_URL}"
- "docker logout ${CI_REGISTRY2_URL}" # - "docker logout ${CI_REGISTRY2_URL}"
- "echo ${CI_REGISTRY2_PASSWORD} | docker login --username ${CI_REGISTRY2_USER} --password-stdin ${CI_REGISTRY2_URL}" # - "echo ${CI_REGISTRY2_PASSWORD} | docker login --username ${CI_REGISTRY2_USER} --password-stdin ${CI_REGISTRY2_URL}"
- "apk add sed helm curl" # - "apk add sed helm curl"
- "mkdir -p ~/.gnupg" # - "mkdir -p ~/.gnupg"
- echo "$CI_GPG_KEYRING" | base64 -d > ~/.gnupg/secring.gpg # - echo "$CI_GPG_KEYRING" | base64 -d > ~/.gnupg/secring.gpg
- echo "$CI_GPG_KEYRING2" | base64 -d > ~/.gnupg/pubring.gpg # - echo "$CI_GPG_KEYRING2" | base64 -d > ~/.gnupg/pubring.gpg
- "helm package ./helm/dbrepo --sign --key 'Martin Weise' --keyring ~/.gnupg/secring.gpg --destination ./build" # - "helm package ./helm/dbrepo --sign --key 'Martin Weise' --keyring ~/.gnupg/secring.gpg --destination ./build"
- "helm plugin install https://github.com/sigstore/helm-sigstore" # - "helm plugin install https://github.com/sigstore/helm-sigstore"
script: # script:
- "helm sigstore upload ./build/dbrepo-${CHART_VERSION}.tgz" # - "helm sigstore upload ./build/dbrepo-${CHART_VERSION}.tgz"
#
release-docs: #release-docs:
stage: release # stage: release
image: docker.io/python:3.11-alpine # image: docker.io/python:3.11-alpine
only: # only:
refs: # refs:
- /^release-.*/ # - /^release-.*/
before_script: # before_script:
- "apk add --update alpine-sdk bash sed wget openssh" # - "apk add --update alpine-sdk bash sed wget openssh"
- "pip install pipenv" # - "pip install pipenv"
- "pip install -r ./requirements.txt" # - "pip install -r ./requirements.txt"
- "mkdir -p ./final/${APP_VERSION}/rest" # - "mkdir -p ./final/${APP_VERSION}/rest"
script: # script:
- "make gen-lib-doc gen-docs-doc" # - "make gen-lib-doc gen-docs-doc"
- "cp -r ./lib/python/docs/build/html ./final/${APP_VERSION}/python" # sphinx # - "cp -r ./lib/python/docs/build/html ./final/${APP_VERSION}/python" # sphinx
- "cp .docs/.swagger/api.yaml ./final/${APP_VERSION}/rest/api.yaml" # swagger # - "cp .docs/.swagger/api.yaml ./final/${APP_VERSION}/rest/api.yaml" # swagger
- "cp .docs/.swagger/swagger-ui.html ./final/${APP_VERSION}/rest/index.html" # swagger # - "cp .docs/.swagger/swagger-ui.html ./final/${APP_VERSION}/rest/index.html" # swagger
- "cp .docs/.swagger/custom.css ./final/${APP_VERSION}/rest/custom.css" # swagger # - "cp .docs/.swagger/custom.css ./final/${APP_VERSION}/rest/custom.css" # swagger
- "cp -r ./site/* ./final/${APP_VERSION}" # mkdocs # - "cp -r ./site/* ./final/${APP_VERSION}" # mkdocs
- eval $(ssh-agent -s) # - eval $(ssh-agent -s)
- "mkdir -p /root/.ssh" # - "mkdir -p /root/.ssh"
- echo "$CI_KEY_PRIVATE" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa # - echo "$CI_KEY_PRIVATE" > /root/.ssh/id_rsa && chmod 0600 /root/.ssh/id_rsa
- echo "$CI_KEY_PUBLIC" > /root/.ssh/id_rsa.pub # - echo "$CI_KEY_PUBLIC" > /root/.ssh/id_rsa.pub
- echo "$CI_DOC_ID" > ~/.ssh/known_hosts # - echo "$CI_DOC_ID" > ~/.ssh/known_hosts
- tar czf ./final.tar.gz ./final # - tar czf ./final.tar.gz ./final
- "scp -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa final.tar.gz $CI_DOC_USER@$CI_DOC_IP:final.tar.gz" # - "scp -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa final.tar.gz $CI_DOC_USER@$CI_DOC_IP:final.tar.gz"
- "scp -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa versions.json $CI_DOC_USER@$CI_DOC_IP:/system/user/ifs/infrastructures/public_html/dbrepo/versions.json" # - "scp -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa versions.json $CI_DOC_USER@$CI_DOC_IP:/system/user/ifs/infrastructures/public_html/dbrepo/versions.json"
- "scp -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa .docs/redirect.html $CI_DOC_USER@$CI_DOC_IP:/system/user/ifs/infrastructures/public_html/dbrepo/index.html" # - "scp -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa .docs/redirect.html $CI_DOC_USER@$CI_DOC_IP:/system/user/ifs/infrastructures/public_html/dbrepo/index.html"
- 'ssh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa $CI_DOC_USER@$CI_DOC_IP "rm -rf /system/user/ifs/infrastructures/public_html/dbrepo/${APP_VERSION}; tar xzf ./final.tar.gz; rm -f ./final.tar.gz; cp -r ./final/* /system/user/ifs/infrastructures/public_html/dbrepo/${APP_VERSION}; rm -rf ./final"' # - 'ssh -oHostKeyAlgorithms=+ssh-rsa -oPubkeyAcceptedAlgorithms=+ssh-rsa $CI_DOC_USER@$CI_DOC_IP "rm -rf /system/user/ifs/infrastructures/public_html/dbrepo/${APP_VERSION}; tar xzf ./final.tar.gz; rm -f ./final.tar.gz; cp -r ./final/* /system/user/ifs/infrastructures/public_html/dbrepo/${APP_VERSION}; rm -rf ./final"'
#
release-libs: #release-libs:
stage: release # stage: release
image: docker.io/python:3.11-alpine # image: docker.io/python:3.11-alpine
when: manual # when: manual
only: # only:
refs: # refs:
- /^release-.*/ # - /^release-.*/
variables: # variables:
PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile" # PIPENV_PIPFILE: "./dbrepo-analyse-service/Pipfile"
before_script: # before_script:
- "apk add sed bash" # - "apk add sed bash"
- "pip install pipenv twine build" # - "pip install pipenv twine build"
- "pipenv install gunicorn && pipenv install --dev --system --deploy" # - "pipenv install gunicorn && pipenv install --dev --system --deploy"
script: # script:
- bash ./lib/python/package.sh # - bash ./lib/python/package.sh
- bash ./lib/python/release.sh # - bash ./lib/python/release.sh
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment