Hydra/ru: Difference between revisions
Updating to match new version of source page Tags: Mobile edit Mobile web edit |
Updating to match new version of source page |
||
| (12 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
<languages /> | <languages /> | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | |||
{{note| Hydra is intended to be used by Nix/NixOS package developers; it is not needed to simply use NixOS.}} | |||
</div> | |||
Hydra - это инструмент для непрерывного интеграционного тестирования и выпуска программного обеспечения, который использует чисто функциональный язык для описания заданий сборки и их зависимостей. Непрерывная интеграция - это простая техника, позволяющая повысить качество процесса разработки программного обеспечения. Автоматизированная система постоянно или периодически проверяет исходный код проекта, собирает его, запускает тесты и готовит отчеты для разработчиков. Таким образом, автоматически отлавливаются различные ошибки, которые могут быть случайно зафиксированы в кодовой базе. | Hydra - это инструмент для непрерывного интеграционного тестирования и выпуска программного обеспечения, который использует чисто функциональный язык для описания заданий сборки и их зависимостей. Непрерывная интеграция - это простая техника, позволяющая повысить качество процесса разработки программного обеспечения. Автоматизированная система постоянно или периодически проверяет исходный код проекта, собирает его, запускает тесты и готовит отчеты для разработчиков. Таким образом, автоматически отлавливаются различные ошибки, которые могут быть случайно зафиксированы в кодовой базе. | ||
<div class="mw-translate-fuzzy"> | |||
Официальные серверы Hydra предоставляют готовые бинарные пакеты для ускорения процесса обновления Nixpgs: Пользователям не нужно компилировать их на своих компьютерах. | Официальные серверы Hydra предоставляют готовые бинарные пакеты для ускорения процесса обновления Nixpgs: Пользователям не нужно компилировать их на своих компьютерах. | ||
</div> | |||
Руководство [https://nixos.org/hydra/manual/ | Руководство [https://nixos.org/hydra/manual/ | ||
| Line 12: | Line 18: | ||
Полное развертывание может быть осуществлено так: | Полное развертывание может быть осуществлено так: | ||
< | <syntaxhighlight lang="nix"> | ||
services.hydra = { | services.hydra = { | ||
enable = true; | enable = true; | ||
| Line 19: | Line 25: | ||
# a standalone Hydra will require you to unset the buildMachinesFiles list to avoid using a nonexistant /etc/nix/machines | # a standalone Hydra will require you to unset the buildMachinesFiles list to avoid using a nonexistant /etc/nix/machines | ||
buildMachinesFiles = []; | buildMachinesFiles = []; | ||
# you will probably also want, otherwise *everything* will be built from scratch | # you will probably also want this, otherwise *everything* will be built from scratch | ||
useSubstitutes = true; | useSubstitutes = true; | ||
}; | }; | ||
</ | </syntaxhighlight> | ||
<div class="mw-translate-fuzzy"> | <div class="mw-translate-fuzzy"> | ||
Модуль автоматически включит postgresql, если вы не измените опцию <code>services.hydra.dbi</code>. | Модуль автоматически включит postgresql, если вы не измените опцию <code>services.hydra.dbi</code>. Схема базы данных будет создана автоматически службой Hydra, однако имейте в виду, что в базе данных будет храниться некоторое состояние, и полная stateless-конфигурация в настоящее время невозможна - делайте резервные копии. | ||
</div> | </div> | ||
| Line 33: | Line 38: | ||
</div> | </div> | ||
< | <span id="Web_Configuration"></span> | ||
=== | === Веб-настройка === | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Line 47: | Line 51: | ||
</syntaxHighlight> | </syntaxHighlight> | ||
< | <span id="Virtual_machine"></span> | ||
=== | === Виртуальная машина === | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Line 59: | Line 62: | ||
nix.buildMachines = [ | nix.buildMachines = [ | ||
{ hostName = "localhost"; | { hostName = "localhost"; | ||
protocol = null; | |||
system = "x86_64-linux"; | system = "x86_64-linux"; | ||
supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"]; | supportedFeatures = ["kvm" "nixos-test" "big-parallel" "benchmark"]; | ||
| Line 80: | Line 84: | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
* Type: Flake | * Type: [[Flakes|Flake]] | ||
</div> | </div> | ||
| Line 135: | Line 139: | ||
</div> | </div> | ||
< | <span id="Imperative_Building"></span> | ||
=== | === Императивная Сборка === | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Line 198: | Line 201: | ||
</div> | </div> | ||
< | <span id="Declarative_Building"></span> | ||
=== | === Декларативная Сборка === | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Line 258: | Line 260: | ||
</div> | </div> | ||
< | <span id="Build"></span> | ||
==== | ==== Сборка ==== | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Line 266: | Line 267: | ||
</div> | </div> | ||
< | <span id="Known_Issues"></span> | ||
== | == Известные Проблемы == | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Line 301: | Line 301: | ||
<span id="Hydra_for_NixOS_releases"></span> | <span id="Hydra_for_NixOS_releases"></span> | ||
== Hydra для релизов NixOS == | == Hydra для релизов NixOS == | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||
| Line 314: | Line 311: | ||
</div> | </div> | ||
* [https://hydra.nixos.org/project/nixpkgs Nixpkgs] | * [https://hydra.nixos.org/project/nixpkgs Nixpkgs] | ||
* [https://hydra.nixos.org/project/nixos NixOS] | * [https://hydra.nixos.org/project/nixos NixOS] | ||
< | <span id="Resources"></span> | ||
== | == Источники == | ||
<div lang="en" dir="ltr" class="mw-content-ltr"> | <div lang="en" dir="ltr" class="mw-content-ltr"> | ||