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

Merge branch 'master' into release-latest

parents 4d24cf1a ba2d4cdf
Branches
Tags
No related merge requests found
...@@ -6,6 +6,8 @@ SCRIPTS_EXTRA_JS="" ...@@ -6,6 +6,8 @@ SCRIPTS_EXTRA_JS=""
function generate_docs { function generate_docs {
BRANCH="release-$1" BRANCH="release-$1"
echo "===================================================" echo "==================================================="
echo "Removing cache from directory ./site"
rm -rf ./site
echo "Building DOCS for version $1 on branch $BRANCH" echo "Building DOCS for version $1 on branch $BRANCH"
echo "===================================================" echo "==================================================="
git reset --hard && git checkout "$BRANCH" git reset --hard && git checkout "$BRANCH"
...@@ -29,6 +31,8 @@ function generate_docs { ...@@ -29,6 +31,8 @@ function generate_docs {
function generate_api { function generate_api {
BRANCH="release-$1" BRANCH="release-$1"
echo "===================================================" echo "==================================================="
echo "Removing cache from directory ./site"
rm -rf ./site
echo "Building API for version $1 on branch $BRANCH" echo "Building API for version $1 on branch $BRANCH"
echo "===================================================" echo "==================================================="
git reset --hard && git checkout "$BRANCH" git reset --hard && git checkout "$BRANCH"
...@@ -39,11 +43,11 @@ function generate_api { ...@@ -39,11 +43,11 @@ function generate_api {
} }
# usage # usage
if [ -z "$VERSIONS" ]; then if [ -z "$DOC_VERSIONS" ]; then
echo "Variable VERSIONS not set" echo "Variable DOC_VERSIONS not set"
exit 1 exit 1
fi fi
versions=(${VERSIONS//,/ }) versions=(${DOC_VERSIONS//,/ })
# usage # usage
if [ -z "$APP_VERSION" ]; then if [ -z "$APP_VERSION" ]; then
......
...@@ -4,8 +4,9 @@ variables: ...@@ -4,8 +4,9 @@ variables:
TRIVY_CACHE_DIR: ".trivycache/" TRIVY_CACHE_DIR: ".trivycache/"
DOCKER_HOST: "unix:///var/run/dind/docker.sock" DOCKER_HOST: "unix:///var/run/dind/docker.sock"
TESTCONTAINERS_RYUK_DISABLED: "false" TESTCONTAINERS_RYUK_DISABLED: "false"
APP_VERSION: "1.4.0" DOC_VERSIONS: "latest,1.4.1,1.4.0,1.3.0"
CHART_VERSION: "1.4.0" APP_VERSION: "1.4.1"
CHART_VERSION: "1.4.1"
image: debian:12-slim image: debian:12-slim
...@@ -458,182 +459,12 @@ scan-storage-service-init: ...@@ -458,182 +459,12 @@ scan-storage-service-init:
reports: reports:
container_scanning: ./.trivy/trivy-storage-service-init-report.json container_scanning: ./.trivy/trivy-storage-service-init-report.json
release-latest:
stage: release
image: docker:24-dind
needs:
- test-metadata-service
- test-data-service
- test-analyse-service
- test-frontend
only:
refs:
- master
before_script:
- echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
- echo "$CI_REGISTRY2_PASSWORD" | docker login --username "$CI_REGISTRY2_USER" --password-stdin $CI_REGISTRY2_URL
script:
- "ifconfig eth0 mtu 1450 up"
- "apk add make bash"
- TAG=latest make release
release-1.3:
stage: release
image: docker:24-dind
needs:
- test-metadata-service
- test-data-service
- test-analyse-service
- test-frontend
only:
refs:
- release-v1.3
before_script:
- echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
- echo "$CI_REGISTRY2_PASSWORD" | docker login --username "$CI_REGISTRY2_USER" --password-stdin $CI_REGISTRY2_URL
script:
- "ifconfig eth0 mtu 1450 up"
- "apk add make bash"
- "TAG=1.3.0 make release"
release-1.4:
stage: release
image: docker:24-dind
needs:
- test-metadata-service
- test-data-service
- test-analyse-service
- test-frontend
only:
refs:
- release-v1.4
before_script:
- echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
- echo "$CI_REGISTRY2_PASSWORD" | docker login --username "$CI_REGISTRY2_USER" --password-stdin $CI_REGISTRY2_URL
script:
- "ifconfig eth0 mtu 1450 up"
- "apk add make bash"
- "TAG=${APP_VERSION} make release"
release-helm-1.4:
stage: release
image: docker:24-dind
only:
refs:
- release-v1.4
before_script:
- echo "$CI_REGISTRY2_PASSWORD" | docker login --username "$CI_REGISTRY2_USER" --password-stdin $CI_REGISTRY2_URL
script:
- apk add sed helm curl
- 'sed -i -e "s/^version:.*/version: \"${CHART_VERSION}\"/g" ./helm-charts/dbrepo/Chart.yaml'
- 'sed -i -e "s/^appVersion:.*/appVersion: \"${APP_VERSION}\"/g" ./helm-charts/dbrepo/Chart.yaml'
- find ./helm-charts -type f -exec sed -i -e "s/__CHARTVERSION__/${CHART_VERSION}/g" {} \;
- helm package ./helm-charts/dbrepo --destination ./build
- helm push "./build/dbrepo-${CHART_VERSION}.tgz" "oci://${CI_REGISTRY2_URL}/helm"
build-api-latest:
stage: build
image: docker.io/alpine:3.18
only:
refs:
- master
- release-v1.3
- release-v1.4
script:
- apk add bash git
- git fetch && git checkout master
- bash .docs/.swagger/swagger-site.sh
- find ./site -type f -exec sed -i -e "s/__APPVERSION__/latest/g" {} \;
- mkdir -p ./swagger/latest
- cp -r ./site/* ./swagger/latest/
cache:
paths:
- ./swagger/latest
artifacts:
when: always
paths:
- ./swagger/latest
expire_in: 1 days
build-api-1.3:
stage: build
image: docker.io/alpine:3.18
only:
refs:
- master
- release-v1.3
- release-v1.4
script:
- apk add bash git maven
- git fetch && git checkout release-v1.3
- bash .docs/.swagger/generate.sh
- mkdir -p ./swagger/1.3.0
- cp -r ./site/* ./swagger/1.3.0/
cache:
paths:
- ./swagger/1.3.0
artifacts:
when: always
paths:
- ./swagger/1.3.0
expire_in: 1 days
build-api-1.4.0:
stage: build
image: docker.io/alpine:3.18
only:
refs:
- master
- release-v1.3
- release-v1.4
script:
- apk add bash git maven
- git fetch --tags && git checkout v1.4.0
- bash .docs/.swagger/swagger-site.sh
- find ./site -type f -exec sed -i -e "s/__APPVERSION__/1.4.0/g" {} \;
- mkdir -p ./swagger/1.4.0
- cp -r ./site/* ./swagger/1.4.0/
cache:
paths:
- ./swagger/1.4.0
artifacts:
when: always
paths:
- ./swagger/1.4.0
expire_in: 1 days
build-api-1.4:
stage: build
image: docker.io/alpine:3.18
only:
refs:
- master
- release-v1.3
- release-v1.4
script:
- apk add bash git maven
- git fetch && git checkout release-v1.4
- bash .docs/.swagger/swagger-site.sh
- find ./site -type f -exec sed -i -e "s/__APPVERSION__/${APP_VERSION}/g" {} \;
- mkdir -p ./swagger/${APP_VERSION}
- cp -r ./site/* ./swagger/${APP_VERSION}/
cache:
paths:
- ./swagger/${APP_VERSION}
artifacts:
when: always
paths:
- ./swagger/${APP_VERSION}
expire_in: 1 days
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:
- master - /^release-.*/
- release-v1.3
- release-v1.4
script: script:
- pip install -r ./requirements.txt - pip install -r ./requirements.txt
- python3 .docs/docker/release.py - python3 .docs/docker/release.py
...@@ -646,57 +477,15 @@ docs-registry: ...@@ -646,57 +477,15 @@ docs-registry:
- ./final - ./final
expire_in: 1 days expire_in: 1 days
docs-latest: docs-docs:
stage: docs stage: docs
image: docker.io/python:3.9-slim image: docker.io/python:3.11-slim
needs:
- build-api-latest
- build-api-1.3
- build-api-1.4
only:
refs:
- master
- release-v1.3
- release-v1.4
script:
- apt-get update && apt-get install -y git make sed
- git fetch && git checkout master
- pip install -r ./requirements.txt
- mkdir -p ./final
- sed -i -e "s/__APPVERSION__/${APP_VERSION}/g" .docs/redirect.html
- cp ./.docs/redirect.html ./final/index.html
- find .docs/ -type f -exec sed -i -e "s/__APPVERSION__/latest/g" {} \;
- find .docs/ -type f -exec sed -i -e "s/__CHARTVERSION__/${CHART_VERSION}/g" {} \;
- mkdocs build && cp -r ./site ./final/latest
- cp -r ./swagger/latest ./final/latest/swagger
cache:
paths:
- ./final
artifacts:
when: always
paths:
- ./final
expire_in: 1 days
docs-1.3:
stage: docs
image: docker.io/python:3.9-slim
needs:
- build-api-latest
- build-api-1.3
only: only:
refs: refs:
- master - /^release-.*/
- release-v1.3
- release-v1.4
script: script:
- apt-get update && apt-get install -y git make wget - apt-get update && apt-get install -y git make sed wget
- git fetch && git checkout release-v1.3 - make docs
- pip install -r ./requirements.txt
- wget https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/dev/.docs/overrides/main.html -O .docs/overrides/main.html -q
- mkdir -p ./final
- mkdocs build && cp -r ./site ./final/1.3.0
- cp -r ./swagger/1.3.0 ./final/1.3.0/swagger
cache: cache:
paths: paths:
- ./final - ./final
...@@ -706,80 +495,49 @@ docs-1.3: ...@@ -706,80 +495,49 @@ docs-1.3:
- ./final - ./final
expire_in: 1 days expire_in: 1 days
docs-1.4.0: release-images:
stage: docs stage: release
image: docker.io/python:3.11-slim image: docker:24-dind
needs: needs:
- build-api-latest - test-metadata-service
- build-api-1.3 - test-data-service
- build-api-1.4 - test-analyse-service
- test-frontend
only: only:
refs: refs:
- master - /^release-.*/
- release-v1.3 before_script:
- release-v1.4 - echo "$CI_REGISTRY_PASSWORD" | docker login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY_URL
- echo "$CI_REGISTRY2_PASSWORD" | docker login --username "$CI_REGISTRY2_USER" --password-stdin $CI_REGISTRY2_URL
script: script:
- apt-get update && apt-get install -y git - "ifconfig eth0 mtu 1450 up"
- git fetch --tags && git checkout v1.4.0 - "apk add make bash"
- pip install -r ./requirements.txt - "TAG=${APP_VERSION} make release"
- wget https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/dev/.docs/overrides/main.html -O .docs/overrides/main.html -q
- mkdir -p ./final
- find .docs/ -type f -exec sed -i -e "s/__APPVERSION__/1.4.0/g" {} \;
- find .docs/ -type f -exec sed -i -e "s/__CHARTVERSION__/1.4.0/g" {} \;
- mkdocs build && cp -r ./site ./final/1.4.0
- cp -r ./swagger/${APP_VERSION} ./final/1.4.0/swagger
cache:
paths:
- ./final
artifacts:
when: always
paths:
- ./final
expire_in: 1 days
docs-1.4: release-chart:
stage: docs stage: release
image: docker.io/python:3.11-slim image: docker:24-dind
needs:
- build-api-latest
- build-api-1.3
- build-api-1.4
only: only:
refs: refs:
- master - /^release-.*/
- release-v1.3 before_script:
- release-v1.4 - echo "$CI_REGISTRY2_PASSWORD" | docker login --username "$CI_REGISTRY2_USER" --password-stdin $CI_REGISTRY2_URL
script: script:
- apt-get update && apt-get install -y git make sed wget - apk add sed helm curl
- git fetch && git checkout release-v1.4 - 'sed -i -e "s/^version:.*/version: \"${CHART_VERSION}\"/g" ./helm-charts/dbrepo/Chart.yaml'
- pip install -r ./requirements.txt - 'sed -i -e "s/^appVersion:.*/appVersion: \"${APP_VERSION}\"/g" ./helm-charts/dbrepo/Chart.yaml'
- wget https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/raw/dev/.docs/overrides/main.html -O .docs/overrides/main.html -q - find ./helm-charts -type f -exec sed -i -e "s/__CHARTVERSION__/${CHART_VERSION}/g" {} \;
- mkdir -p ./final - helm package ./helm-charts/dbrepo --destination ./build
- find .docs/ -type f -exec sed -i -e "s/__APPVERSION__/${APP_VERSION}/g" {} \; - helm push "./build/dbrepo-${CHART_VERSION}.tgz" "oci://${CI_REGISTRY2_URL}/helm"
- find .docs/ -type f -exec sed -i -e "s/__CHARTVERSION__/${CHART_VERSION}/g" {} \;
- mkdocs build && cp -r ./site ./final/${APP_VERSION}
- cp -r ./swagger/${APP_VERSION} ./final/${APP_VERSION}/swagger
cache:
paths:
- ./final
artifacts:
when: always
paths:
- ./final
expire_in: 1 days
release-docs: release-docs:
stage: release stage: release
image: docker.io/finalgene/openssh:9.1 image: docker.io/finalgene/openssh:9.1
needs: needs:
- docs-latest - docs-docs
- docs-1.3
- docs-1.4
only: only:
refs: refs:
- master - /^release-.*/
- release-v1.3
- release-v1.4
script: script:
- eval $(ssh-agent -s) - eval $(ssh-agent -s)
- 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
......
FROM python:3.11-slim as build
WORKDIR /app
RUN apt-get update && apt-get install -y git
ENV VERSIONS="1.4.1,1.4.0,1.3.0"
ENV APP_VERSION="1.4.1"
COPY .git/ .git/
COPY .docs/ .docs/
COPY ./requirements.txt ./requirements.txt
RUN bash .docs/build-website.sh
FROM nginx as runtime
WORKDIR /usr/share/nginx/html/infrastructures/dbrepo/
COPY --from=build /app/final /usr/share/nginx/html/infrastructures/dbrepo/
\ No newline at end of file
...@@ -224,3 +224,6 @@ teardown: ...@@ -224,3 +224,6 @@ teardown:
build-api: build-api:
bash .docs/.swagger/swagger-generate.sh bash .docs/.swagger/swagger-generate.sh
docs:
bash .docs/build-website.sh
\ No newline at end of file
...@@ -10,13 +10,6 @@ volumes: ...@@ -10,13 +10,6 @@ volumes:
storage-service-data: storage-service-data:
services: services:
website:
restart: "no"
image: website
build: .
ports:
- 8000:80
dbrepo-metadata-db: dbrepo-metadata-db:
restart: "no" restart: "no"
container_name: dbrepo-metadata-db container_name: dbrepo-metadata-db
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment