DEVX-178: [BE] Разработать endpoint выдачи информации для подключении фейн-клиентов через gradle/maven
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user