Files
flashcards-docs/pages/lesson-2/chapter-4.ru.mdx

91 lines
4.3 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { Callout } from 'nextra/components'
# Деплой на Vercel
Деплой на Vercel происходит автоматически при пуше в ветку `master`.
## Деплой проекта
1. Зарегистрируйтесь на [Vercel](https://vercel.com/signup).
Рекомендую использовать GitHub для авторизации.
2. Перейдите на [страницу dashboard](https://vercel.com/dashboard), нажмите на кнопку `Add New` и выберите `Project`.
![Add new project](./images/vercel-new-project.png)
3. Убедитесь что у vercel есть все разрешения для GitHub и выберите репозиторий с проектом.
![Select repository](./images/vercel-select-repository.png)
4. Никаких настроек делать не нужно - просто нажмите `Deploy`.
5. После деплоя, вам будет доступен URL вашего проекта.
Но, наша задача - задеплоить не только проект, но и **Storybook**.
## Деплой Storybook
1. Создайте новую ветку `storybook-deploy` и переключитесь на нее.
2. В корне проекте создайте файл `vercel.json` со следующим содержимым:
```json filename="vercel.json"
{
"$schema": "https://openapi.vercel.sh/vercel.json",
"buildCommand": "pnpm run build-storybook",
"devCommand": "pnpm run storybook",
"installCommand": "pnpm i",
"framework": null,
"outputDirectory": "./storybook-static"
}
```
3. Закоммитьте и запушьте изменения в ветку `storybook-deploy`.
4. Перейдите в настройки проекта на Vercel и добавьте домен для ветки `storybook-deploy`.
![Add domain](./images/add-domain.png)
<Callout>
Если у вас нет собственного домена - можете использовать саб-домены vercel.app, как на скриншоте
</Callout>
5. После этого, при каждом пуше в ветку `storybook-deploy`, Vercel будет автоматически деплоить Storybook.
## Настройка github actions
Для того что бы не мерджить две ветки вручную при каждом изменении в проекте, можно настроить github actions.
1. В ветке master/main создайте файл `.github/workflows/deploy-storybook.yml` со следующим содержимым:
```yml filename=".github/workflows/deploy-storybook.yml" showLineNumbers {5,17,18}
name: Build and Deploy Storybook
on:
push:
branches:
- 'master'
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout 🛎️
uses: actions/checkout@v2.3.1
- name: Merge dev -> storybook-deploy 🚀
uses: devmasx/merge-branch@1.4.0
with:
type: now
from_branch: master
target_branch: storybook-deploy
github_token: ${{ github.token }}
```
2. В выделенных строках убедитесь что указаны правильные ветки:
- `master` - основная ветка, иногда называется `main`
- `from_branch: master` - должна совпадать с основной веткой
- `target_branch: storybook-deploy` - ветка для деплоя Storybook, которую мы создали ранее
3. На GitHub, в **_настройках проекта_** перейдите в `actions/general` и для Workflow Permissions выберите `Read and Write permissions` и нажмите `Save`
![actions-setup](./images/workflow-permissions.png)
4. Закоммитьте и запушьте изменения в основную ветку.
5. После этого, при каждом пуше в основную ветку, GitHub Actions будет автоматически мерджить изменения в ветку `storybook-deploy`, что приведет к автоматическому деплою Storybook на Vercel.