DEVX-178: [BE] Разработать endpoint выдачи информации для подключении фейн-клиентов через gradle/maven

This commit is contained in:
2026-03-26 13:22:52 +03:00
parent 334ce90058
commit 39e539dcab
8 changed files with 253 additions and 1 deletions
+88
View File
@@ -18,6 +18,11 @@ on:
description: 'Версия образа'
required: true
type: number
prefix:
description: 'Префикс URL'
required: true
type: string
default: 'devspace-ui'
jobs:
deploy-dev:
name: 'Deploy to dev'
@@ -38,6 +43,89 @@ jobs:
run: |
npm install
npm run build
cat > entrypoint.sh << EOF
#!/bin/sh
set -e
# Применяем переменные окружения к шаблону конфига
envsubst '${PREFIX}' < /etc/nginx/templates/default.conf.template > /etc/nginx/conf.d/default.conf
# Запускаем nginx с переданными аргументами
exec "$@"
EOF
cat > default.conf.template << EOF
server {
listen 80;
server_name localhost;
# Префикс из переменной окружения (по умолчанию devspace-ui)
set $prefix ${PREFIX:-devspace-ui};
# Редирект с /$prefix на /$prefix/
location = /$prefix {
return 301 /$prefix/;
}
# Отдача статики по префиксу
location /$prefix/ {
alias /usr/share/nginx/html/;
autoindex off;
try_files $uri =404;
}
# Health check (всегда 200)
location /health {
access_log off;
return 200 "OK\n";
add_header Content-Type text/plain;
}
# Все остальные пути — 404
location / {
return 404;
}
}
EOF
cat > Dockerfile << EOF
FROM nginx:stable-alpine
# Установка gettext для envsubst (уже есть в alpine, но для ясности)
RUN apk add --no-cache gettext
# Удаляем дефолтный конфиг
RUN rm /etc/nginx/conf.d/default.conf
# Создаём папку для шаблонов
WORKDIR /etc/nginx/templates
# Копируем шаблон конфигурации
COPY default.conf.template /etc/nginx/templates/default.conf.template
# Копируем entrypoint-скрипт
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Копируем статические файлы
COPY ./dist /usr/share/nginx/html
EXPOSE 80
ENTRYPOINT ["/entrypoint.sh"]
CMD ["nginx", "-g", "daemon off;"]
EOF
- name: Publishing docker
uses: https://git.binom.pw/otp/devops/docker@main
with:
image-name: "otp/${{ github.event.inputs.repo_path }}"
tags: ${{ github.event.inputs.version }}
- name: Kuebrnetus config
run: |
echo '${{ secrets.KUBE_CONFIG }}' > ./ku.yaml
- name: "Install Helm"
uses: azure/setup-helm@v4.3.0
- name: 'Clone Helms'
uses: https://github.com/actions/checkout@v4
with:
repository: otp/devex
path: 'helms'
- name: 'Cleanup'
if: always()
shell: bash