Skip to content

Commit 326a232

Browse files
ankddevwavy-catyanthomasdev
authored
i18n(ru): translate guides/deploy/github.mdx (withastro#12116)
Signed-off-by: Andrey <[email protected]> Co-authored-by: WavyCat <[email protected]> Co-authored-by: Yan <[email protected]>
1 parent b35c290 commit 326a232

File tree

1 file changed

+169
-0
lines changed

1 file changed

+169
-0
lines changed
Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
---
2+
title: Разверните свой сайт Astro на GitHub Pages
3+
description: Как развернуть свой сайт Astro в интернет, используя GitHub Pages.
4+
sidebar:
5+
label: GitHub Pages
6+
type: deploy
7+
i18nReady: true
8+
---
9+
import { Steps } from '@astrojs/starlight/components';
10+
11+
Вы можете использовать [GitHub Pages](https://pages.github.com/), чтобы разместить в Интернете сайт Astro прямо из репозитория на [GitHub.com](https://github.com/).
12+
13+
## Как развернуть
14+
15+
Вы можете развернуть сайт Astro на GitHub Pages, используя [GitHub Actions](https://github.com/features/actions) чтобы автоматически собрать и развернуть свой сайт. Для этого исходный код сайта должен располагаться на GitHub.
16+
17+
Astro поддерживает официальный `withastro/action` чтобы развернуть ваш сайт с минимальной конфигурацией. Следуйте инструкциям ниже, чтобы развернуть свой сайт Astro на GitHub Actions, и смотрите [README проекта](https://github.com/withastro/action) для дополнительной информации.
18+
19+
## Настройте Astro для GitHub Pages
20+
21+
### Развёртывание на `github.io` URL
22+
23+
Установите опции [`site`](/ru/reference/configuration-reference/#site) и [`base`](/ru/reference/configuration-reference/#base) в `astro.config.mjs`.
24+
25+
```js title="astro.config.mjs" ins={4-5}
26+
import { defineConfig } from 'astro/config'
27+
28+
export default defineConfig({
29+
site: 'https://astronaut.github.io',
30+
base: 'my-repo',
31+
})
32+
```
33+
34+
#### `site`
35+
36+
Значение `site` должно быть одним из следующих:
37+
38+
- Следующий URL на основе вашего имени пользователя: `https://<имя-пользователя>.github.io`
39+
- Случайный URL, автоматически сгенерированный для [приватной страницы организации GitHub](https://docs.github.com/en/enterprise-cloud@latest/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site): `https://<случайная-строка>.pages.github.io/`
40+
41+
#### `base`
42+
43+
Значение `base` может быть необходимо, чтобы Astro считал имя репозитория (например `/my-repo`) как корень вашего сайта.
44+
45+
:::note
46+
Не устанавливайте параметр `base`, если:
47+
48+
- Ваша страница развёрнута из корневой директории.
49+
- Ваш репозиторий расположен на `https://github.com/<ИМЯ-ПОЛЬЗОВАТЕЛЯ>/<ИМЯ-ПОЛЬЗОВАТЕЛЯ>.github.io`.
50+
:::
51+
52+
Значение для `base` должно быть именем репозитория, начинающееся с косой черты, например `/my-blog`. Благодаря этому Astro понимает, что корнем вашего сайта является `/my-repo`, а не `/` (по умолчанию).
53+
54+
:::caution
55+
Когда это значение настроено, все внутренние ссылки на страницы должны начинаться с вашего значения `base`:
56+
57+
```astro ins="/my-repo"
58+
<a href="/my-repo/about">О проекте</a>
59+
```
60+
61+
Узнайте больше о [настройке значения `base`](/ru/reference/configuration-reference/#base)
62+
:::
63+
64+
### Использование GitHub Pages с кастомным доменом
65+
66+
:::tip[Настройка кастомного домена]
67+
Вы можете настроить кастомный домен, добавив следующий `./public/CNAME` файл в свой проект:
68+
69+
```js title="public/CNAME"
70+
sub.mydomain.com
71+
```
72+
73+
Благодаря этому сайт будет развёрнут на ваш кастомный домен вместо `user.github.io`. Не забудьте также [настроить DNS для своего провайдера домена](https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site#configuring-a-subdomain).
74+
:::
75+
76+
Чтобы настроить Astro для использования GitHub pages с кастомным доменом, установите своё доменное имя как значение для `site`. Не устанавливайте значение для `base`:
77+
78+
```js title="astro.config.mjs" ins={4}
79+
import { defineConfig } from 'astro/config'
80+
81+
export default defineConfig({
82+
site: 'https://example.com',
83+
})
84+
```
85+
86+
## Настройте GitHub Action
87+
88+
<Steps>
89+
1. Создайте в вашем проекте новый файл с именем `.github/workflows/deploy.yml` и вставьте в него следующий YAML.
90+
91+
```yaml title="deploy.yml"
92+
name: Deploy to GitHub Pages
93+
94+
on:
95+
# Вызывать workflow при каждом пуше в ветку `main`
96+
# Используете другое имя для ветки? Замените `main` на имя своей ветки
97+
push:
98+
branches: [ main ]
99+
# Разрешает запускать этот workflow вручную с вкладки Actions на GitHub.
100+
workflow_dispatch:
101+
102+
# Разрешить этому workflow клонировать репозиторий и создавать развёртывание Pages
103+
permissions:
104+
contents: read
105+
pages: write
106+
id-token: write
107+
108+
jobs:
109+
build:
110+
runs-on: ubuntu-latest
111+
steps:
112+
- name: Checkout your repository using git
113+
uses: actions/checkout@v4
114+
- name: Install, build, and upload your site
115+
uses: withastro/action@v3
116+
# with:
117+
# path: . # Корень вашего проекта Astro внутри репозитория (опционально)
118+
# node-version: 20 # Версия Node, которую следует использовать для сборки сайта. По умолчанию 20. (опционально)
119+
# package-manager: pnpm@latest # Менеджер пакетов Node, который следует использовать для установки зависимостей и сборки сайта. Автоматически определяется на основе лок-файла. (опционально)
120+
121+
deploy:
122+
needs: build
123+
runs-on: ubuntu-latest
124+
environment:
125+
name: github-pages
126+
url: ${{ steps.deployment.outputs.page_url }}
127+
steps:
128+
- name: Deploy to GitHub Pages
129+
id: deployment
130+
uses: actions/deploy-pages@v4
131+
```
132+
133+
:::note
134+
Action Astro принимает несколько опциональных значений, которые могут быть переданы путём раскомментирования строки с `with` и нужной строки.
135+
:::
136+
137+
:::caution
138+
Официальный Astro [action](https://github.com/withastro/action) сканирует лок-файл для определения предпочтительного пакетного менеджера (`npm`, `yarn`, `pnpm`, или `bun`). Вы должны закоммитить автоматически сгенерированный пакетным менеджером файл `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`, или `bun.lockb` в свой репозиторий.
139+
:::
140+
141+
2. (Опционально) Если вы передаёте переменные среды в свой проект Astro во время локальной разработки или превью-сборок, вам необходимо определить публичные переменные в файле `deploy.yml`, чтобы они были обработаны во время развёртывания на GitHub Pages. (Смотрите [документацию GitHub по установке секретов](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables#creating-configuration-variables-for-a-repository) для добавления приватных переменных среды.)
142+
143+
```yaml title="deploy.yml"
144+
jobs:
145+
build:
146+
runs-on: ubuntu-latest
147+
steps:
148+
- name: Checkout your repository using git
149+
uses: actions/checkout@v4
150+
- name: Install, build, and upload your site
151+
uses: withastro/action@v3
152+
env:
153+
# Используйте одинарные кавычки для значения переменной
154+
PUBLIC_EVM_WALLET_ADDRESS: '0x4bFc229A40d41698154336aFF864f61083E76659'
155+
```
156+
157+
158+
3. На GitHub, перейдите в настройки вашего репозитория (вкладка **Settings**) и найдите секцию **Pages**.
159+
160+
4. Выберите **GitHub Actions** как **Source** (источник) вашего сайта.
161+
162+
5. Сделайте коммит нового файла workflow и запушьте на GitHub.
163+
</Steps>
164+
165+
Ваш сайт уже должен быть опубликован! При каждом пуше в репозиторий проекта Astro, GitHub Action автоматически развернёт изменения.
166+
167+
## Примеры
168+
169+
- [Развёртывание на GitHub Pages](https://github.com/hkbertoson/github-pages)

0 commit comments

Comments
 (0)