deploy-fix2
All checks were successful
Deploy on push / deploy (push) Successful in 6m53s

This commit is contained in:
2025-08-28 20:53:31 +03:00
parent b0d60bb836
commit e6f9b877f4
2 changed files with 74 additions and 10 deletions

View File

@@ -124,13 +124,43 @@ jobs:
git log --oneline -5
echo "✅ Git репозиторий готов"
- name: Setup SSH for Main Deploy
if: github.ref == 'refs/heads/main'
run: |
echo "🔑 Настраиваем SSH для деплоя на v2.discours.io..."
# Создаем SSH директорию
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# Добавляем приватный ключ
echo "${{ secrets.V2_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
# Добавляем v2.discours.io в known_hosts
ssh-keyscan -H v2.discours.io >> ~/.ssh/known_hosts
# Запускаем ssh-agent
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
echo "✅ SSH настроен для v2.discours.io"
- name: Push to dokku for main branch
if: github.ref == 'refs/heads/main'
uses: dokku/github-action@master
with:
branch: 'main'
git_remote_url: 'ssh://dokku@v2.discours.io:22/discoursio-api'
ssh_private_key: ${{ secrets.V2_PRIVATE_KEY }}
run: |
echo "🚀 Деплоим на v2.discours.io..."
# Добавляем dokku remote
git remote add dokku ssh://dokku@v2.discours.io:22/discoursio-api || git remote set-url dokku ssh://dokku@v2.discours.io:22/discoursio-api
# Проверяем remote
git remote -v
# Деплоим текущую ветку
git push dokku main:main -f
echo "✅ Деплой на main завершен"
- name: Verify Git Before Deploy
if: github.ref == 'refs/heads/dev'
@@ -140,10 +170,40 @@ jobs:
git log --oneline -5
echo "✅ Git репозиторий готов"
- name: Setup SSH for Dev Deploy
if: github.ref == 'refs/heads/dev'
run: |
echo "🔑 Настраиваем SSH для деплоя на staging..."
# Создаем SSH директорию
mkdir -p ~/.ssh
chmod 700 ~/.ssh
# Добавляем приватный ключ
echo "${{ secrets.STAGING_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
# Добавляем staging.discours.io в known_hosts
ssh-keyscan -H staging.discours.io >> ~/.ssh/known_hosts
# Запускаем ssh-agent
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa
echo "✅ SSH настроен для staging.discours.io"
- name: Push to dokku for dev branch
if: github.ref == 'refs/heads/dev'
uses: dokku/github-action@master
with:
branch: 'dev'
git_remote_url: 'ssh://dokku@staging.discours.io:22/core'
ssh_private_key: ${{ secrets.STAGING_PRIVATE_KEY }}
run: |
echo "🚀 Деплоим на staging.discours.io..."
# Добавляем dokku remote
git remote add dokku ssh://dokku@staging.discours.io:22/core || git remote set-url dokku ssh://dokku@staging.discours.io:22/core
# Проверяем remote
git remote -v
# Деплоим текущую ветку
git push dokku dev:main -f
echo "✅ Деплой на dev завершен"

View File

@@ -24,6 +24,10 @@
- Добавлен шаг `Restore Git Repository` для восстановления git после тестов
- Добавлены проверки состояния git перед деплоем на main и dev ветки
- Автоматическое восстановление git репозитория при повреждении
- **Переработан механизм деплоя**: Заменен проблемный `dokku/github-action` на прямой git push
- Настройка SSH ключей для прямого подключения к Dokku серверам
- Прямой `git push dokku` вместо использования стороннего action
- Более надежный и контролируемый процесс деплоя
## [0.9.13] - 2025-08-27