docusaurus/docs/ru/next/publishing/index.html
Website Deployment Script e2ecb6de98 Deploy website
Deploy website version based on cbe3c7775b
2020-07-23 09:55:28 +00:00

414 lines
No EOL
62 KiB
HTML
Raw 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.

<!DOCTYPE html><html lang="ru"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Публикация вашего сайта · Docusaurus</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Теперь у вас должен быть [настроенный и запущенный локально сайт](/docs/ru/next/site-creation). Как только вы [настроили](/docs/ru/next/site-config) его по своему вкусу, настало время опубликовать его. Docusaurus создает статический HTML веб-сайт, готовый к запуску на на вашем любимом веб-сервере или через онлайн хостинг."/><meta name="docsearch:version" content="next"/><meta name="docsearch:language" content="ru"/><meta property="og:title" content="Публикация вашего сайта · Docusaurus"/><meta property="og:type" content="website"/><meta property="og:url" content="https://docusaurus.io/"/><meta property="og:description" content="Теперь у вас должен быть [настроенный и запущенный локально сайт](/docs/ru/next/site-creation). Как только вы [настроили](/docs/ru/next/site-config) его по своему вкусу, настало время опубликовать его. Docusaurus создает статический HTML веб-сайт, готовый к запуску на на вашем любимом веб-сервере или через онлайн хостинг."/><meta property="og:image" content="https://docusaurus.io/img/docusaurus.png"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://docusaurus.io/img/docusaurus.png"/><link rel="shortcut icon" href="/img/docusaurus.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://docusaurus.io/blog/atom.xml" title="Docusaurus Blog ATOM Feed"/><link rel="alternate" type="application/rss+xml" href="https://docusaurus.io/blog/feed.xml" title="Docusaurus Blog RSS Feed"/><script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-44373548-31', 'auto');
ga('send', 'pageview');
</script><script type="text/javascript" src="https://buttons.github.io/buttons.js"></script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script><script type="text/javascript" src="/js/code-blocks-buttons.js"></script><script src="https://unpkg.com/vanilla-back-to-top@7.1.14/dist/vanilla-back-to-top.min.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
addBackToTop(
{"zIndex":100}
)
});
</script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/prism.css"/><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head><body class="sideNavVisible separateOnPageNav"><div class="fixedHeaderContainer"><div class="headerWrapper wrapper"><header><a href="/ru"><img class="logo" src="/img/docusaurus.svg" alt="Docusaurus"/><h2 class="headerTitleWithLogo">Docusaurus</h2></a><a href="/ru/versions"><h3>next</h3></a><div class="navigationWrapper navigationSlider"><nav class="slidingNav"><ul class="nav-site nav-site-internal"><li class="siteNavGroupActive"><a href="/docs/ru/next/installation" target="_self">Документация</a></li><li class=""><a href="/docs/ru/next/tutorial-setup" target="_self">Руководство</a></li><li class=""><a href="/ru/users" target="_self">Пользователи</a></li><li class=""><a href="/blog/" target="_self">Блог</a></li><li class=""><a href="https://github.com/facebook/docusaurus" target="_blank">GitHub</a></li><span><li><a id="languages-menu" href="#"><img class="languages-icon" src="/img/language.svg" alt="Languages icon"/>Русский</a><div id="languages-dropdown" class="hide"><ul id="languages-dropdown-items"><li><a href="/docs/en/next/publishing">English</a></li><li><a href="/docs/fr/next/publishing">Français</a></li><li><a href="/docs/ko/next/publishing">한국어</a></li><li><a href="/docs/pt-BR/next/publishing">Português (Brasil)</a></li><li><a href="/docs/ro/next/publishing">Română</a></li><li><a href="/docs/zh-CN/next/publishing">简体中文</a></li><li><a href="https://crowdin.com/project/docusaurus" target="_blank" rel="noreferrer noopener">Помочь с переводом</a></li></ul></div></li><script>
const languagesMenuItem = document.getElementById("languages-menu");
const languagesDropDown = document.getElementById("languages-dropdown");
languagesMenuItem.addEventListener("click", function(event) {
event.preventDefault();
if (languagesDropDown.className == "hide") {
languagesDropDown.className = "visible";
} else {
languagesDropDown.className = "hide";
}
});
</script></span><li class="navSearchWrapper reactNavSearchWrapper"><input type="text" id="search_input_react" placeholder="Search" title="Search"/></li></ul></nav></div></header></div></div><div class="navPusher"><div class="docMainWrapper wrapper"><div class="docsNavContainer" id="docsNav"><nav class="toc"><div class="toggleNav"><section class="navWrapper wrapper"><div class="navBreadcrumb wrapper"><div class="navToggle" id="navToggler"><div class="hamburger-menu"><div class="line1"></div><div class="line2"></div><div class="line3"></div></div></div><h2><i></i><span>Начало работы</span></h2><div class="tocToggler" id="tocToggler"><i class="icon-toc"></i></div></div><div class="navGroups"><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Начало работы<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/ru/next/installation">Установка</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/site-preparation">Настройка сайта</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/site-creation">Создание вашего сайта</a></li><li class="navListItem navListItemActive"><a class="navItem" href="/docs/ru/next/publishing">Публикация вашего сайта</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/docker">Docker</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">Руководство<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/ru/next/adding-blog">Добавление блога</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/custom-pages">Пользовательские страницы</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/search">Включение поиска</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/navigation">Навигация и боковые панели</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/translation">Перевод и локализация</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/versioning">Версионирование</a></li></ul></div><div class="navGroup"><h3 class="navGroupCategoryTitle collapsible">API<span class="arrow"><svg width="24" height="24" viewBox="0 0 24 24"><path fill="#565656" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path><path d="M0 0h24v24H0z" fill="none"></path></svg></span></h3><ul class="hide"><li class="navListItem"><a class="navItem" href="/docs/ru/next/commands">Команды CLI</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/doc-markdown">Особенности разметки Markdown в Docusaurus</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/api-pages">Страницы и стили</a></li><li class="navListItem"><a class="navItem" href="/docs/ru/next/site-config">siteConfig.js</a></li></ul></div></div></section></div><script>
var coll = document.getElementsByClassName('collapsible');
var checkActiveCategory = true;
for (var i = 0; i < coll.length; i++) {
var links = coll[i].nextElementSibling.getElementsByTagName('*');
if (checkActiveCategory){
for (var j = 0; j < links.length; j++) {
if (links[j].classList.contains('navListItemActive')){
coll[i].nextElementSibling.classList.toggle('hide');
coll[i].childNodes[1].classList.toggle('rotate');
checkActiveCategory = false;
break;
}
}
}
coll[i].addEventListener('click', function() {
var arrow = this.childNodes[1];
arrow.classList.toggle('rotate');
var content = this.nextElementSibling;
content.classList.toggle('hide');
});
}
document.addEventListener('DOMContentLoaded', function() {
createToggler('#navToggler', '#docsNav', 'docsSliderActive');
createToggler('#tocToggler', 'body', 'tocActive');
var headings = document.querySelector('.toc-headings');
headings && headings.addEventListener('click', function(event) {
var el = event.target;
while(el !== headings){
if (el.tagName === 'A') {
document.body.classList.remove('tocActive');
break;
} else{
el = el.parentNode;
}
}
}, false);
function createToggler(togglerSelector, targetSelector, className) {
var toggler = document.querySelector(togglerSelector);
var target = document.querySelector(targetSelector);
if (!toggler) {
return;
}
toggler.onclick = function(event) {
event.preventDefault();
target.classList.toggle(className);
};
}
});
</script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/docusaurus/ru" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Публикация вашего сайта</h1></header><article><div><span><p>Теперь у вас должен быть <a href="/docs/ru/next/site-creation">настроенный и запущенный локально сайт</a>. Как только вы <a href="/docs/ru/next/site-config">настроили</a> его по своему вкусу, настало время опубликовать его. Docusaurus создает статический HTML веб-сайт, готовый к запуску на на вашем любимом веб-сервере или через онлайн хостинг.</p>
<h2><a class="anchor" aria-hidden="true" id="создание-статических-html-страниц"></a><a href="#создание-статических-html-страниц" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Создание статических HTML страниц</h2>
<p>Чтобы создать статическую сборку своего веб-сайта, запустите следующую команду из каталога <code>website</code>:</p>
<pre><code class="hljs css language-bash">yarn run build <span class="hljs-comment"># или `npm run build`</span>
</code></pre>
<p>В результате будет создан каталог <code>build</code> внутри каталога <code>website</code>, содержащий файлы <code>.html</code> для всех документов и других страниц, размещенных в <code>pages</code>.</p>
<h2><a class="anchor" aria-hidden="true" id="хостинг-статических-html-страниц"></a><a href="#хостинг-статических-html-страниц" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Хостинг статических HTML страниц</h2>
<p>На этом этапе вы можете взять все файлы из каталога <code>website/build</code> и скопировать их в каталог <code>html</code> на вашем любимом веб-сервере.</p>
<blockquote>
<p>Например, Apache и Nginx обслуживают содержимое каталога <code>/var/www/html</code> по-умолчанию. Впрочем, выбор веб-сервера или провайдера выходит за рамки Docusaurus.</p>
<p>При предоставлении доступа к своему сайту через ваш собственный веб-сервер, убедитесь, что сервер передает статические ресурсы с корректными HTTP заголовками. Файлы css должны быть переданы с заголовком <code>content-type</code>, имеющий значение <code>text/css</code>. В случае Nginx это значит, что вам следует добавить строку <code>include /etc/nginx/mime.types;</code> в файл <code>nginx.conf</code>. Просмотрите <a href="https://github.com/facebook/docusaurus/issues/602">это обращение</a> для получения дополнительной информации.</p>
</blockquote>
<h3><a class="anchor" aria-hidden="true" id="хостинг-на-сервисах"></a><a href="#хостинг-на-сервисах" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Хостинг на сервисах:</h3>
<ul>
<li><a href="#using-zeit-now">ZEIT Now</a></li>
<li><a href="#using-github-pages">GitHub Pages</a></li>
<li><a href="#hosting-on-netlify">Netlify</a></li>
<li><a href="#hosting-on-render">Render</a></li>
</ul>
<h3><a class="anchor" aria-hidden="true" id="использование-zeit-now"></a><a href="#использование-zeit-now" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Использование ZEIT Now</h3>
<p>Deploying your Docusaurus project to <a href="https://zeit.co/now">ZEIT Now</a> will provide you with <a href="https://zeit.co/now">various benefits</a> in the areas of performance and ease of use.</p>
<p>Most importantly, however, deploying a Docusaurus project only takes a couple of seconds:</p>
<ol>
<li>Сначала установите <a href="https://zeit.co/download">интерфейс командной строки</a>:</li>
</ol>
<pre><code class="hljs css language-bash">npm i -g now
</code></pre>
<ol start="2">
<li>Запустите команду внутри корневого каталога вашего проекта:</li>
</ol>
<pre><code class="hljs css language-bash">now
</code></pre>
<p><strong>Это все.</strong> Ваша документация будет автоматически развернута.</p>
<blockquote>
<p>Note that the directory structure Now supports is slightly different from the default directory structure of a Docusaurus project - The <code>docs</code> directory has to be within the <code>website</code> directory, ideally following the directory structure in this example. You will also have to specify a <code>customDocsPath</code> value in <code>siteConfig.js</code>. Take a look at the <a href="https://github.com/zeit/now-examples/tree/master/docusaurus">now-examples repository for a Docusaurus project</a>.</p>
</blockquote>
<h3><a class="anchor" aria-hidden="true" id="использование-github-pages"></a><a href="#использование-github-pages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Использование GitHub Pages</h3>
<p>Docusaurus was designed to work well with one of the most popular hosting solutions for open source projects: <a href="https://pages.github.com/">GitHub Pages</a>.</p>
<h4><a class="anchor" aria-hidden="true" id="развертывание-на-github-pages"></a><a href="#развертывание-на-github-pages" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Развертывание на GitHub Pages</h4>
<ol>
<li>Docusaurus поддерживает развертывание сайта как <a href="https://help.github.com/articles/user-organization-and-project-pages">Project Pages или User/Organization Pages</a>, вашему репозиторию с кодом при этом даже не нужно быть публичным.</li>
</ol>
<blockquote>
<p>Даже если ваш репозиторий является приватным, все, что публикуется в ветке <code>gh-pages</code> станет <a href="https://help.github.com/articles/user-organization-and-project-pages/">публичным</a>.</p>
</blockquote>
<p><strong>Примечание:</strong> Когда вы разворачиваете сайт как страницы пользователя/организации, сценарий публикации развернет эти сайты в корень ветки <strong><code>master</code></strong> репозитория <em>username</em>.github.io. В этом случае, обратите внимание, что вам понадобится инфраструктура Docusaurus, ваша документация и т. д. либо в <strong>другой ветви репозитория <em>username</em>.github.io</strong> (например, <code>source</code>), либо в другом отдельном репозитории (например, в том же, где размещен документируемый исходный код).</p>
<ol start="2">
<li>Вам потребуется изменить файл <code>website/siteConfig.js</code> и добавить необходимые параметры.</li>
</ol>
<table>
<thead>
<tr><th>Наименование</th><th>Описание</th></tr>
</thead>
<tbody>
<tr><td><code>organizationName</code></td><td>GitHub пользователь или организация, являющаяся владельцем репозитория. Если вы владелец проекта, то эта настройка - наименование вашей учетной записи на GitHub. В случае Docusaurus, это организация GitHub &quot;<em>facebook</em>&quot;.</td></tr>
<tr><td><code>projectName</code></td><td>Наименование репозитория GitHub для вашего проекта. Например, исходный код Docusaurus размещен по адресу <a href="https://github.com/facebook/docusaurus">https://github.com/facebook/docusaurus</a>, поэтому наш проект в этом случае будет называться «docusaurus».</td></tr>
<tr><td><code>url</code></td><td>URL-aдрес вашего сайта. Для проектов, размещенных на GitHub pages, это значение должно быть равным &quot;https://<em>username</em>.github.io&quot;</td></tr>
<tr><td><code>baseUrl</code></td><td>Базовый URL-адрес для вашего проекта. Для проектов, размещенных на GitHub pages, это значение должно иметь вид &quot;/<em>projectName</em>/&quot;. Для <a href="https://github.com/facebook/docusaurus">https://github.com/facebook/docusaurus</a>, <code>baseUrl</code> равен <code>/docusaurus/</code>.</td></tr>
</tbody>
</table>
<pre><code class="hljs css language-js"><span class="hljs-keyword">const</span> siteConfig = {
...
url: <span class="hljs-string">'https://__userName__.github.io'</span>, <span class="hljs-comment">// Your website URL</span>
<span class="hljs-attr">baseUrl</span>: <span class="hljs-string">'/testProject/'</span>,
<span class="hljs-attr">projectName</span>: <span class="hljs-string">'testProject'</span>,
<span class="hljs-attr">organizationName</span>: <span class="hljs-string">'userName'</span>
...
}
</code></pre>
<p>In case you want to deploy as a user or organization site, specify the project name as <code>&lt;username&gt;.github.io</code> or <code>&lt;orgname&gt;.github.io</code>. Например, если ваша учетная запись на GitHub назвается &quot;user42&quot;, то <em>user42.github.io</em>, или если наименование организации - &quot;org123&quot;, то <em>org123.github.io</em>.</p>
<p><strong>Примечание:</strong> Если вы не укажете <code>url</code> и <code>baseUrl</code> для своего проекта, то пути к файлам могут быть созданы неправильно, в результате чего ссылки на ресурсы, такие как стили и изображения, окажутся сломанными.</p>
<blockquote>
<p>Хотя мы рекомендуем установить <code>projectName</code> и <code>organizationName</code> в <code>siteConfig.js</code>, вы также можете использовать переменные окружения <code>ORGANIZATION_NAME</code> и <code>PROJECT_NAME</code>.</p>
</blockquote>
<ol start="3">
<li>Теперь вы должны указать пользователя git как переменную окружения и запустить сценарий <a href="/docs/ru/next/commands#docusaurus-publish"><code>publish-gh-pages</code></a></li>
</ol>
<table>
<thead>
<tr><th>Наименование</th><th>Описание</th></tr>
</thead>
<tbody>
<tr><td><code>GIT_USER</code></td><td>Имя пользователя для учётной записи GitHub, которая имеет доступ к данному репозиторию. Для ваших собственных репозиториев это будет обычное имя пользователя GitHub. Указанный <code>GIT_USER</code> должен иметь доступ к хранилищу, указанному в комбинации <code>organizationName</code> и <code>projectName</code>.</td></tr>
</tbody>
</table>
<p>Чтобы запустить скрипт непосредственно из командной строки, вы можете использовать следующую команду, заполняя значения параметров соответствующим образом.</p>
<p><strong>Bash</strong></p>
<pre><code class="hljs css language-bash">GIT_USER=&lt;GIT_USER&gt; \
CURRENT_BRANCH=master \
USE_SSH=<span class="hljs-literal">true</span> \
yarn run publish-gh-pages <span class="hljs-comment"># или `npm run publish-gh-pages`</span>
</code></pre>
<p><strong>Windows</strong></p>
<pre><code class="hljs css language-batch">cmd /C <span class="hljs-string">"set "</span><span class="hljs-attribute">GIT_USER</span>=&lt;GIT_USER&gt;"&amp;&amp; <span class="hljs-builtin-name">set</span> <span class="hljs-attribute">CURRENT_BRANCH</span>=master &amp;&amp; <span class="hljs-builtin-name">set</span> <span class="hljs-attribute">USE_SSH</span>=<span class="hljs-literal">true</span> &amp;&amp; yarn <span class="hljs-builtin-name">run</span> publish-gh-pages<span class="hljs-string">"
</span></code></pre>
<p>Есть также два необязательных параметра, которые задаются в качестве переменных окружения:</p>
<table>
<thead>
<tr><th>Наименование</th><th>Описание</th></tr>
</thead>
<tbody>
<tr><td><code>USE_SSH</code></td><td>Если задано значение <code>true</code>, то используется SSH вместо HTTPS для подключения к репозиторию GitHub. HTTPS используется по умолчанию, если эта переменная не задана.</td></tr>
<tr><td><code>CURRENT_BRANCH</code></td><td>Ветвь, содержащая последние изменения для документов, которые будут развернуты. Обычно используется ветвь <code>master</code>, но это может быть любая ветвь (default или любая другая) за исключением <code>gh-pages</code>. Если значение не указано, будет использована текущая ветвь.</td></tr>
</tbody>
</table>
<p>Если вы столкнулись с проблемами, связанными с ключами SSH, посетите <a href="https://help.github.com/articles/connecting-to-github-with-ssh/">документацию по авторизации на GitHub</a>.</p>
<p>Теперь вы сможете загрузить свой веб-сайт, посетив его URL-адрес на GitHub Pages, который может выглядеть примерно так: https://<em>username</em>.github.io/<em>projectName</em>, или пользовательский домен, если вы его настроили. For example, Docusaurus' own GitHub Pages URL is <a href="https://facebook.github.io/Docusaurus">https://facebook.github.io/Docusaurus</a> because it is served from the <code>gh-pages</code> branch of the <a href="https://github.com/facebook/docusaurus">https://github.com/facebook/docusaurus</a> GitHub repository. However, it can also be accessed via <a href="https://docusaurus.io/">https://docusaurus.io/</a>, via a generated <code>CNAME</code> file which can be configured via the <code>cname</code> <a href="/docs/ru/next/site-config#cname-string">siteConfig option</a>.</p>
<p>Мы настоятельно рекомендуем ознакомиться с <a href="https://pages.github.com">документацией GitHub Pages</a>, чтобы узнать больше о том, как работает это решение для хостинга.</p>
<p>Вы можете запустить приведенную выше команду в любое время, когда вы обновляете документы и хотите развернуть изменения на своем сайте. Запуск сценария вручную может быть полезен для сайтов, на которых документация редко изменяется, и не следует забывать о том, что нужно вручную вносить изменения.</p>
<p>Однако вы можете автоматизировать процесс публикации с помощью непрерывной интеграции (CI).</p>
<h2><a class="anchor" aria-hidden="true" id="автоматизация-развертываний-с-использованием-непрерывной-интеграции"></a><a href="#автоматизация-развертываний-с-использованием-непрерывной-интеграции" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Автоматизация развертываний с использованием непрерывной интеграции</h2>
<p>Службы непрерывной интеграции (CI) обычно используются для выполнения рутинных задач всякий раз, когда новые коммиты регистрируются в системе контроля версий. Этими задачами могут быть любое сочетание запуска модульных и интеграционных тестов, автоматизации сборок, публикации пакетов в NPM и, конечно же, развертывания изменений на вашем веб-сайте. Все, что вам нужно сделать для автоматизации развертывания вашего сайта, - это запускать сценарий <code>publish-gh-pages</code> всякий раз, когда ваши документы обновляются. В следующем разделе мы расскажем, как это сделать, используя <a href="https://circleci.com/">Circle CI</a>, популярного поставщика услуг непрерывной интеграции.</p>
<h3><a class="anchor" aria-hidden="true" id="using-circleci-20"></a><a href="#using-circleci-20" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Using CircleCI 2.0</h3>
<p>Если вы еще этого не сделали, вы можете <a href="https://circleci.com/signup/">установить CircleCI</a> для своего проекта с открытым исходным кодом. После этого, чтобы включить автоматическое развертывание вашего сайта и документации через CircleCI, просто настройте Circle для запуска сценария <code>publish-gh-pages</code> на этапе развертывания. Для настройки вы можете выполнить следующие шаги.</p>
<ol>
<li>Убедитесь, что учетная запись GitHub, которая будет установлена как <code>GIT_USER</code>, имеет <code>права на запись</code> в репозитории, содержащем документацию, проверив <code>Settings | Collaborators &amp; teams</code> в репозитории.</li>
<li>Войдите в GitHub как <code>GIT_USER</code>.</li>
<li>Перейдите в <a href="https://github.com/settings/tokens">https://github.com/settings/tokens</a> для <code>GIT_USER</code> и создайте новый <a href="https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/">токен личного доступа</a>, предоставив ему полный контроль над частными репозиториями через доступ к <code>repository</code>. Храните этот токен в безопасном месте, не передавая его никому. Этот токен может использоваться для аутентификации действий на GitHub от вашего имени вместо вашего пароля на GitHub.</li>
<li>Open your CircleCI dashboard, and navigate to the Settings page for your repository, then select &quot;Environment variables&quot;. URL выглядит как <a href="https://circleci.com/gh/ORG/REPO/edit#env-vars">https://circleci.com/gh/ORG/REPO/edit#env-vars</a>, где «ORG / REPO» должен быть заменен вашей собственной организацией/репозиторием на GitHub.</li>
<li>Создайте новую переменную среды с именем <code>GITHUB_TOKEN</code>, используя в качестве значения вновь созданный токен доступа.</li>
<li>Создайте каталог <code>.circleci</code> и <code>config.yml</code> в этом каталоге.</li>
<li>Скопируйте приведенный ниже текст в <code>.circleci/config.yml</code>.</li>
</ol>
<pre><code class="hljs css language-yaml"><span class="hljs-comment"># Если вы желаете запускать circle только на прямых коммитах в master, вы можете раскомментировать эту секцию</span>
<span class="hljs-comment"># также раскомментируйте строку filters: *filter-only-master ниже</span>
<span class="hljs-comment">#</span>
<span class="hljs-comment"># aliases:</span>
<span class="hljs-comment"># - &amp;filter-only-master</span>
<span class="hljs-comment"># branches:</span>
<span class="hljs-comment"># only:</span>
<span class="hljs-comment"># - master</span>
<span class="hljs-attr">version:</span> <span class="hljs-number">2</span>
<span class="hljs-attr">jobs:</span>
<span class="hljs-attr">deploy-website:</span>
<span class="hljs-attr">docker:</span>
<span class="hljs-comment"># укажите здесь версию, которую желаете использовать</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">image:</span> <span class="hljs-string">circleci/node:8.11.1</span>
<span class="hljs-attr">steps:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">checkout</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">run:</span>
<span class="hljs-attr">name:</span> <span class="hljs-string">Deploying</span> <span class="hljs-string">to</span> <span class="hljs-string">GitHub</span> <span class="hljs-string">Pages</span>
<span class="hljs-attr">command:</span> <span class="hljs-string">|
git config --global user.email "&lt;GITHUB_USERNAME&gt;@users.noreply.github.com"
git config --global user.name "&lt;YOUR_NAME&gt;"
echo "machine github.com login &lt;GITHUB_USERNAME&gt; password $GITHUB_TOKEN" &gt; ~/.netrc
cd website &amp;&amp; yarn install &amp;&amp; GIT_USER=&lt;GIT_USER&gt; yarn run publish-gh-pages
</span>
<span class="hljs-attr">workflows:</span>
<span class="hljs-attr">version:</span> <span class="hljs-number">2</span>
<span class="hljs-attr">build_and_deploy:</span>
<span class="hljs-attr">jobs:</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">deploy-website:</span>
<span class="hljs-comment"># filters: *filter-only-master</span>
</code></pre>
<p>Обязательно замените все <code>&lt;....&gt;</code> в последовательности <code>command:</code> соответствующими значениями. Для <code>&amp;lt;GIT_USER&amp;gt;</code> это должна быть учетная запись GitHub, которая имеет доступ к записи документации в ваш репозиторий GitHub. В большинстве случаев <code>&amp;lt;GIT_USER&amp;gt;</code> и <code>&amp;lt;GITHUB_USERNAME&amp;gt;</code> имеют одинаковые значения.</p>
<p><strong>НЕ</strong> помещайте фактическое значение <code>$GITHUB_TOKEN</code> в <code>circle.yml</code>. We already configured that as an environment variable back in Step 5.</p>
<blockquote>
<p>Если вы желаете использовать SSH для подключения к своему репозиторию GitHub, вы можете указать <code>USE_SSH=true</code>. Таким образом, команда выше будет выглядеть следующим образом: <code>cd website &amp;&amp; npm install &amp;&amp; GIT_USER=&amp;lt;GIT_USER&amp;gt; USE_SSH=true npm run publish-gh-pages</code>.</p>
<p>Unlike when you run the <code>publish-gh-pages</code> script manually when the script runs within the Circle environment, the value of <code>CURRENT_BRANCH</code> is already defined as an <a href="https://circleci.com/docs/1.0/environment-variables/">environment variable within CircleCI</a> and will be picked up by the script automatically.</p>
</blockquote>
<p>Теперь, когда новый коммит будет отправлен в <code>master</code>, CircleCI запустит набор тестов и, если все они будут пройдены, развернет ваш сайт с помощью сценария <code>publish-gh-pages</code>.</p>
<blockquote>
<p>If you would rather use a deploy key instead of a personal access token, you can by starting with the CircleCI <a href="https://circleci.com/docs/1.0/adding-read-write-deployment-key/">instructions</a> for adding a read/write deploy key.</p>
</blockquote>
<h3><a class="anchor" aria-hidden="true" id="советы-и-трюки"></a><a href="#советы-и-трюки" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Советы и трюки</h3>
<p>When initially deploying to a <code>gh-pages</code> branch using CircleCI, you may notice that some jobs triggered by commits to the <code>gh-pages</code> branch fail to run successfully due to a lack of tests (This can also result in chat/slack build failure notifications).</p>
<p>Вы легко можете обойти это следующим образом:</p>
<ul>
<li>Установите значение переменной окружения <code>CUSTOM_COMMIT_MESSAGE</code> для сценария <code>publish-gh-pages</code> равной <code>[skip ci]</code>. Например:</li>
</ul>
<pre><code class="hljs css language-bash">CUSTOM_COMMIT_MESSAGE=<span class="hljs-string">"[skip ci]"</span> \
yarn run publish-gh-pages <span class="hljs-comment"># или `npm run publish-gh-pages`</span>
</code></pre>
<ul>
<li>Кроме того, вы можете обойти эту проблему, создав базовый файл настроек CircleCI со следующим содержимым:</li>
</ul>
<pre><code class="hljs css language-yaml"><span class="hljs-comment"># CircleCI 2.0 Config File</span>
<span class="hljs-comment"># This config file will prevent tests from being run on the gh-pages branch.</span>
<span class="hljs-attr">version:</span> <span class="hljs-number">2</span>
<span class="hljs-attr">jobs:</span>
<span class="hljs-attr">build:</span>
<span class="hljs-attr">machine:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr">branches:</span>
<span class="hljs-attr">ignore:</span> <span class="hljs-string">gh-pages</span>
<span class="hljs-attr">steps:</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">run:</span> <span class="hljs-string">echo</span> <span class="hljs-string">"Skipping tests on gh-pages branch"</span>
</code></pre>
<p>Сохраните этот файл как <code>config.yml</code> и разместите его в каталоге <code>.circleci</code> внутри вашего каталога <code>website/static</code>.</p>
<h3><a class="anchor" aria-hidden="true" id="использование-travis-ci"></a><a href="#использование-travis-ci" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Использование Travis CI</h3>
<ol>
<li>Перейдите по ссылке <a href="https://github.com/settings/tokens">https://github.com/settings/tokens</a> и создайте новый <a href="https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/">персональный токен доступа</a></li>
<li>Используя свою учетную запись GitHub, <a href="https://github.com/marketplace/travis-ci">добавьте приложение Travis CI</a> к репозиторию, который вы желаете активировать.</li>
<li>Откройте панель Travis CI. URL выглядит как <a href="https://travis-ci.com/USERNAME/REPO">https://travis-ci.com/USERNAME/REPO</a>, затем перейдите в секцию <code>More options</code> &gt; <code>Setting</code> &gt; <code>Environment Variables</code> своего репозитория.</li>
<li>Создайте новую переменную окружения с именем <code>GH_TOKEN</code> и присвойте ей в качестве значения созданный токен, затем также создайте переменные <code>GH_EMAIL</code> (ваш email адрес) и <code>GH_NAME</code> (имя вашей учетной записи GitHub).</li>
<li>Создайте файл <code>.travis.yml</code> в корне своего репозитория со следующим текстом.</li>
</ol>
<pre><code class="hljs css language-yaml"><span class="hljs-comment"># .travis.yml</span>
<span class="hljs-attr">language:</span> <span class="hljs-string">node_js</span>
<span class="hljs-attr">node_js:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">'8'</span>
<span class="hljs-attr">branches:</span>
<span class="hljs-attr">only:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">master</span>
<span class="hljs-attr">cache:</span>
<span class="hljs-attr">yarn:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr">script:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">git</span> <span class="hljs-string">config</span> <span class="hljs-string">--global</span> <span class="hljs-string">user.name</span> <span class="hljs-string">"${GH_NAME}"</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">git</span> <span class="hljs-string">config</span> <span class="hljs-string">--global</span> <span class="hljs-string">user.email</span> <span class="hljs-string">"${GH_EMAIL}"</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">echo</span> <span class="hljs-string">"machine github.com login ${GH_NAME} password ${GH_TOKEN}"</span> <span class="hljs-string">&gt;</span> <span class="hljs-string">~/.netrc</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">cd</span> <span class="hljs-string">website</span> <span class="hljs-string">&amp;&amp;</span> <span class="hljs-string">yarn</span> <span class="hljs-string">install</span> <span class="hljs-string">&amp;&amp;</span> <span class="hljs-string">GIT_USER="${GH_NAME}"</span> <span class="hljs-string">yarn</span> <span class="hljs-string">run</span> <span class="hljs-string">publish-gh-pages</span>
</code></pre>
<p>Теперь, когда новый коммит будет отправлен в <code>master</code>, Travis CI запустит набор тестов и, если все они будут пройдены, развернет ваш сайт с помощью сценария <code>publish-gh-pages</code>.</p>
<h3><a class="anchor" aria-hidden="true" id="using-azure-pipelines"></a><a href="#using-azure-pipelines" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Using Azure Pipelines</h3>
<ol>
<li>Sign Up at <a href="https://azure.microsoft.com/en-us/services/devops/pipelines/">Azure Pipelines</a> if you haven't already.</li>
<li>Create an organization and within the organization create a project and connect your repository from GitHub.</li>
<li>Go to <a href="https://github.com/settings/tokens">https://github.com/settings/tokens</a> and generate a new <a href="https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/">personal access token</a> with repository scope.</li>
<li>In the project page (which looks like <a href="https://dev.azure.com/ORG_NAME/REPO_NAME/_build">https://dev.azure.com/ORG_NAME/REPO_NAME/_build</a>) create a new pipeline with the following text. Also, click on edit and add a new environment variable named <code>GH_TOKEN</code> with your newly generated token as its value, then <code>GH_EMAIL</code> (your email address) and <code>GH_NAME</code> (your GitHub username). Make sure to mark them as secret. Alternatively, you can also add a file named <code>azure-pipelines.yml</code> at yout repository root.</li>
</ol>
<pre><code class="hljs css language-yaml"><span class="hljs-comment"># azure-pipelines.yml</span>
<span class="hljs-attr">trigger:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">master</span>
<span class="hljs-attr">pool:</span>
<span class="hljs-attr">vmImage:</span> <span class="hljs-string">'ubuntu-latest'</span>
<span class="hljs-attr">steps:</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">checkout:</span> <span class="hljs-string">self</span>
<span class="hljs-attr">persistCredentials:</span> <span class="hljs-literal">true</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">task:</span> <span class="hljs-string">NodeTool@0</span>
<span class="hljs-attr">inputs:</span>
<span class="hljs-attr">versionSpec:</span> <span class="hljs-string">'10.x'</span>
<span class="hljs-attr">displayName:</span> <span class="hljs-string">'Install Node.js'</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">script:</span> <span class="hljs-string">|
git config --global user.name "${GH_NAME}"
git config --global user.email "${GH_EMAIL}"
git checkout -b master
echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" &gt; ~/.netrc
cd website
yarn install
GIT_USER="${GH_NAME}" CURRENT_BRANCH=master yarn run publish-gh-pages
</span> <span class="hljs-attr">env:</span>
<span class="hljs-attr">GH_NAME:</span> <span class="hljs-string">$(GH_NAME)</span>
<span class="hljs-attr">GH_EMAIL:</span> <span class="hljs-string">$(GH_EMAIL)</span>
<span class="hljs-attr">GH_TOKEN:</span> <span class="hljs-string">$(GH_TOKEN)</span>
<span class="hljs-attr">displayName:</span> <span class="hljs-string">'yarn install and build'</span>
</code></pre>
<h3><a class="anchor" aria-hidden="true" id="хостинг-на-zeit-now"></a><a href="#хостинг-на-zeit-now" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Хостинг на ZEIT Now</h3>
<p>With <a href="#using-zeit-now">ZEIT Now</a>, you can deploy your site and connect it to <a href="https://zeit.co/github">GitHub</a> or <a href="https://zeit.co/gitlab">GitLab</a> to automatically receive a new deployment every time you push a commit.</p>
<h3><a class="anchor" aria-hidden="true" id="хостинг-на-netlify"></a><a href="#хостинг-на-netlify" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Хостинг на Netlify</h3>
<p>Шаги по настройке вашего Docusaurus-сайта на Netlify.</p>
<ol>
<li><p>Выберите <strong>New site from Git</strong></p></li>
<li><p>Подключитесь к своему провайдеру Git.</p></li>
<li><p>Выберите ветку для развертывания. По-умолчанию это <code>master</code></p></li>
<li><p>Настройте шаги сборки:</p>
<ul>
<li>Для команды сборки введите: <code>cd website; npm install; npm run build;</code></li>
<li>Для каталога публикации: <code>website/build/&amp;lt;projectName&amp;gt;</code> (используйте <code>projectName</code> из своего <code>siteConfig</code>)</li>
</ul></li>
<li><p>Нажмите на <strong>Deploy site</strong></p></li>
</ol>
<p>Вы также можете настроить Netlify для построения сайта после каждого коммита в вашем репозитории, или только для коммитов в ветке <code>master</code>.</p>
<h3><a class="anchor" aria-hidden="true" id="хостинг-на-render"></a><a href="#хостинг-на-render" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Хостинг на Render</h3>
<p>Render offers free <a href="https://render.com/docs/static-sites">static site</a> hosting with fully managed SSL, custom domains, a global CDN and continuous auto deploy from your Git repo. Deploy your app in just a few minutes by following these steps.</p>
<ol>
<li><p>Create a new <strong>Web Service</strong> on Render, and give Render's GitHub app permission to access your Docusaurus repo.</p></li>
<li><p>Выберите ветку для развертывания. The default is <code>master</code>.</p></li>
<li><p>Enter the following values during creation.</p></li>
</ol>
<table>
<thead>
<tr><th>Field</th><th>Value</th></tr>
</thead>
<tbody>
<tr><td><strong>Environment</strong></td><td><code>Static Site</code></td></tr>
<tr><td><strong>Build Command</strong></td><td><code>cd website; yarn install; yarn build</code></td></tr>
<tr><td><strong>Publish Directory</strong></td><td><code>website/build/&lt;projectName&gt;</code></td></tr>
</tbody>
</table>
<p><code>projectName</code> is the value you defined in your <code>siteConfig.js</code>.</p>
<pre><code class="hljs">javascript{7}
const siteConfig = {
// ...
projectName: 'your-project-name',
// ...
</code></pre>
<p>That's it! Your app will be live on your Render URL as soon as the build finishes.</p>
<h3><a class="anchor" aria-hidden="true" id="публикация-на-github-enterprise"></a><a href="#публикация-на-github-enterprise" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Публикация на GitHub Enterprise</h3>
<p>Публикация на GitHub Enterprise должна работать по той же схеме, что и на github.com; вам только лишь нужно определить хост организации на GitHub Enterprise.</p>
<table>
<thead>
<tr><th>Наименование</th><th>Описание</th></tr>
</thead>
<tbody>
<tr><td><code>GITHUB_HOST</code></td><td>Имя хоста для сервера GitHub enterprise.</td></tr>
</tbody>
</table>
<p>Добавьте в <code>siteConfig.js</code> поле <code>'githubHost'</code>, которое будет содержать наименование хоста на GitHub Enterprise. Также вместо этого вы можете указать переменную окружения <code>GITHUB_HOST</code> при вызове команды публикации.</p>
</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/ru/next/site-creation"><span class="arrow-prev"></span><span>Создание вашего сайта</span></a><a class="docs-next button" href="/docs/ru/next/docker"><span>Docker</span><span class="arrow-next"></span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#создание-статических-html-страниц">Создание статических HTML страниц</a></li><li><a href="#хостинг-статических-html-страниц">Хостинг статических HTML страниц</a><ul class="toc-headings"><li><a href="#хостинг-на-сервисах">Хостинг на сервисах:</a></li><li><a href="#использование-zeit-now">Использование ZEIT Now</a></li><li><a href="#использование-github-pages">Использование GitHub Pages</a></li></ul></li><li><a href="#автоматизация-развертываний-с-использованием-непрерывной-интеграции">Автоматизация развертываний с использованием непрерывной интеграции</a><ul class="toc-headings"><li><a href="#using-circleci-20">Using CircleCI 2.0</a></li><li><a href="#советы-и-трюки">Советы и трюки</a></li><li><a href="#использование-travis-ci">Использование Travis CI</a></li><li><a href="#using-azure-pipelines">Using Azure Pipelines</a></li><li><a href="#хостинг-на-zeit-now">Хостинг на ZEIT Now</a></li><li><a href="#хостинг-на-netlify">Хостинг на Netlify</a></li><li><a href="#хостинг-на-render">Хостинг на Render</a></li><li><a href="#публикация-на-github-enterprise">Публикация на GitHub Enterprise</a></li></ul></li></ul></nav></div><footer class="nav-footer" id="footer"><section class="sitemap"><a href="/" class="nav-home"><img src="/img/docusaurus_monochrome.svg" alt="Docusaurus" width="66" height="58"/></a><div class="footerSection"><h5>Docs</h5><a href="
/docs/ru/installation">Getting Started</a><a href="
/docs/ru/versioning">Versioning</a><a href="
/docs/ru/translation">Localization</a><a href="
/docs/ru/search">Adding Search</a></div><div class="footerSection"><h5>Community</h5><a href="/ru/help">Help</a><a href="/ru/users">User Showcase</a><a href="/ru/about-slash">About</a></div><div class="footerSection"><h5>Legal</h5><a href="https://opensource.facebook.com/legal/privacy/" target="_blank" rel="noreferrer noopener">Privacy</a><a href="https://opensource.facebook.com/legal/terms/" target="_blank" rel="noreferrer noopener">Terms</a></div><div class="footerSection"><h5>Social</h5><div class="social"><a class="github-button" href="https://github.com/facebook/docusaurus" data-count-href="https://github.com/facebook/docusaurus/stargazers" data-show-count="true" data-count-aria-label="# stargazers on GitHub" aria-label="Star this project on GitHub">docusaurus</a></div><div class="social"><a href="https://twitter.com/docusaurus" class="twitter-follow-button">Follow @docusaurus</a></div><div class="social"><div class="fb-like" data-href="https://docusaurus.io" data-colorscheme="dark" data-layout="standard" data-share="true" data-width="225" data-show-faces="false"></div></div></div></section><a href="https://opensource.facebook.com/" target="_blank" rel="noreferrer noopener" class="fbOpenSource"><img src="/img/oss_logo.png" alt="Facebook Open Source" width="170" height="45"/></a><section class="copyright"><span>Copyright © 2020 Facebook Inc.</span> Landing images by <a href="https://undraw.co/">unDraw</a>.</section></footer></div><script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.js"></script><script>window.fbAsyncInit = function() {FB.init({appId:'199138890728411',xfbml:true,version:'v2.7'});};(function(d, s, id){var js, fjs = d.getElementsByTagName(s)[0];if (d.getElementById(id)) {return;}js = d.createElement(s); js.id = id;js.src = '//connect.facebook.net/en_US/sdk.js';fjs.parentNode.insertBefore(js, fjs);}(document, 'script','facebook-jssdk'));
</script><script>window.twttr=(function(d,s, id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return t;js=d.createElement(s);js.id=id;js.src='https://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js, fjs);t._e = [];t.ready = function(f) {t._e.push(f);};return t;}(document, 'script', 'twitter-wjs'));</script><script>
document.addEventListener('keyup', function(e) {
if (e.target !== document.body) {
return;
}
// keyCode for '/' (slash)
if (e.keyCode === 191) {
const search = document.getElementById('search_input_react');
search && search.focus();
}
});
</script><script>
var search = docsearch({
apiKey: '3eb9507824b8be89e7a199ecaa1a9d2c',
indexName: 'docusaurus',
inputSelector: '#search_input_react',
algoliaOptions: {"facetFilters":["language:ru","version:next"]}
});
</script></body></html>