Hydra/en: Difference between revisions
Updating to match new version of source page |
Updating to match new version of source page |
||
Line 4: | Line 4: | ||
Hydra is a tool for continuous integration testing and software release that uses a purely functional language to describe build jobs and their dependencies. Continuous integration is a simple technique to improve the quality of the software development process. An automated system continuously or periodically checks out the source code of a project, builds it, runs tests, and produces reports for the developers. Thus, various errors that might accidentally be committed into the code base are automatically caught. | Hydra is a tool for continuous integration testing and software release that uses a purely functional language to describe build jobs and their dependencies. Continuous integration is a simple technique to improve the quality of the software development process. An automated system continuously or periodically checks out the source code of a project, builds it, runs tests, and produces reports for the developers. Thus, various errors that might accidentally be committed into the code base are automatically caught. | ||
The official Hydra servers provide pre-built binary packages to speed up the update time for | The official Hydra servers provide pre-built binary packages to speed up the update time for Nixpkgs: Users do not have to compile them on their own computers. | ||
The [https://nixos.org/hydra/manual/ Hydra manual] provides an overview of the functionality and features of Hydra, as well as an up-to-date installation guide. | The [https://nixos.org/hydra/manual/ Hydra manual] provides an overview of the functionality and features of Hydra, as well as an up-to-date installation guide. | ||
Line 12: | Line 12: | ||
A full deployment can be enabled as easy as: | A full deployment can be enabled as easy as: | ||
< | <syntaxhighlight lang="nix"> | ||
services.hydra = { | services.hydra = { | ||
enable = true; | enable = true; | ||
Line 19: | Line 19: | ||
# 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> | ||
The module will automatically enable [[PostgreSQL|postgresql]] if you do not change the <code>services.hydra.dbi</code> option. Database layout will be created automatically by the Hydra service, however keep in mind that some state will be stored in the database and a complete stateless configuration is currently not possible - do your backups. | The module will automatically enable [[PostgreSQL|postgresql]] if you do not change the <code>services.hydra.dbi</code> option. Database layout will be created automatically by the Hydra service, however keep in mind that some state will be stored in the database and a complete stateless configuration is currently not possible - do your backups. |