mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-12 08:37:25 +02:00
414 lines
No EOL
62 KiB
HTML
414 lines
No EOL
62 KiB
HTML
<!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 "<em>facebook</em>".</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, это значение должно быть равным "https://<em>username</em>.github.io"</td></tr>
|
||
<tr><td><code>baseUrl</code></td><td>Базовый URL-адрес для вашего проекта. Для проектов, размещенных на GitHub pages, это значение должно иметь вид "/<em>projectName</em>/". Для <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><username>.github.io</code> or <code><orgname>.github.io</code>. Например, если ваша учетная запись на GitHub назвается "user42", то <em>user42.github.io</em>, или если наименование организации - "org123", то <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=<GIT_USER> \
|
||
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>=<GIT_USER>"&& <span class="hljs-builtin-name">set</span> <span class="hljs-attribute">CURRENT_BRANCH</span>=master && <span class="hljs-builtin-name">set</span> <span class="hljs-attribute">USE_SSH</span>=<span class="hljs-literal">true</span> && 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 & 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 "Environment variables". 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"># - &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 "<GITHUB_USERNAME>@users.noreply.github.com"
|
||
git config --global user.name "<YOUR_NAME>"
|
||
echo "machine github.com login <GITHUB_USERNAME> password $GITHUB_TOKEN" > ~/.netrc
|
||
cd website && yarn install && GIT_USER=<GIT_USER> 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><....></code> в последовательности <code>command:</code> соответствующими значениями. Для <code>&lt;GIT_USER&gt;</code> это должна быть учетная запись GitHub, которая имеет доступ к записи документации в ваш репозиторий GitHub. В большинстве случаев <code>&lt;GIT_USER&gt;</code> и <code>&lt;GITHUB_USERNAME&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 && npm install && GIT_USER=&lt;GIT_USER&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> > <code>Setting</code> > <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">></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">&&</span> <span class="hljs-string">yarn</span> <span class="hljs-string">install</span> <span class="hljs-string">&&</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}" > ~/.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/&lt;projectName&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/<projectName></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> |