diff --git a/check_deploy_ready.sh b/check_deploy_ready.sh new file mode 120000 index 0000000..53258a5 --- /dev/null +++ b/check_deploy_ready.sh @@ -0,0 +1 @@ +tools/scripts/check_deploy_ready.sh \ No newline at end of file diff --git a/tools/ci/README.md b/tools/ci/README.md index a1f86c2..a57e2f1 100644 --- a/tools/ci/README.md +++ b/tools/ci/README.md @@ -21,7 +21,10 @@ Forgejo Actions workflows для автоматической сборки, те 4. **Запустите деплой:** ```bash + # Автоматический деплой git push origin main + + # ИЛИ ручной запуск через UI Forgejo ``` ## Workflows @@ -59,12 +62,25 @@ DEPLOY_SSH_PRIVATE_KEY # SSH ключ для доступа к серверу 1 ## Ручной запуск -### Backend деплой +### Через UI Forgejo + +1. Перейдите в репозиторий на Forgejo +2. Откройте вкладку **Actions** +3. Выберите workflow: + - **"Main CI Pipeline"** - полный цикл (сборка + деплой) + - **"Deploy Applications"** - только деплой (без пересборки) +4. Нажмите **"Run workflow"** (кнопка с плей-иконкой) +5. Выберите компонент для деплоя (для Deploy Applications) +6. Нажмите **"Run workflow"** + +### Через командную строку + +#### Backend деплой ```bash ../../deploy/backend-build_app.sh ``` -### Web app деплой +#### Web app деплой ```bash ../../deploy/web-app/deploy.sh ``` diff --git a/tools/ci/cd-deploy.yml b/tools/ci/cd-deploy.yml index fecb1e7..70f494b 100644 --- a/tools/ci/cd-deploy.yml +++ b/tools/ci/cd-deploy.yml @@ -3,10 +3,22 @@ name: Deploy Applications on: push: branches: [ main, master ] + workflow_dispatch: + inputs: + component: + description: 'Component to deploy' + required: false + default: 'all' + type: choice + options: + - all + - backend + - web + - mobile jobs: deploy-backend: - if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: @@ -30,7 +42,7 @@ jobs: ./backend-build_app.sh deploy-web: - if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' + if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest steps: diff --git a/tools/ci/ci-main.yml b/tools/ci/ci-main.yml index dcd1d81..b4142e5 100644 --- a/tools/ci/ci-main.yml +++ b/tools/ci/ci-main.yml @@ -5,6 +5,7 @@ on: branches: [ main, master ] pull_request: branches: [ main, master ] + workflow_dispatch: jobs: code-quality: