[Nix-dev] how to get a hydra / github branch?
Gergely Risko
gergely at risko.hu
Thu Aug 28 10:51:11 CEST 2014
Hi,
Thanks, great, I will try this out!
Gergely
On Thu, 28 Aug 2014 10:37:59 +0200, Peter Simons <simons at cryp.to> writes:
> Hi Gergely,
>
> > Do we have some Amazon EC2 AMI that is ready to go for the whole nixpkgs
> > stuff and web interface and everything?
>
> The problem with hydra.nixos.org is that the machine is so overloaded
> that it manages only ~1 evaluation per day. This means that you'll have
> to wait a day or two before you get feedback for a commit.
>
> I used the nixops configuration attached below to spawn my own Hydra in
> EC2. I haven't run it in a while, though, so it may have bit-rotted a
> little. Anyway, I hope it helps.
>
> Peter
>
>
> {
> network.description = "Hydra Build Slave";
>
> machine = { config, pkgs, ... }: {
>
> require = [ /home/simons/src/hydra/hydra-module.nix ];
>
> nix = {
> extraOptions = ''
> trusted-binary-caches = http://hydra.nixos.org http://hydra.cryp.to
> build-cores = 0
> '';
> maxJobs = 4; # this needs to be customized
> useChroot = true;
> };
>
> time.timeZone = "Europe/Berlin";
>
> environment.enableBashCompletion = true;
>
> i18n.defaultLocale = "en_US.UTF-8";
>
> users.extraUsers.hydra = {
> openssh.authorizedKeys.keyFiles = [ ./id_buildfarm.pub /home/simons/.ssh/id_dsa.pub ];
> password = "open sesame";
> };
>
> environment.etc = [
> { target = "nix/signing-key.pub"; source = ./nix-signing-key.pub; }
> ];
>
> services.openssh.usePAM = false;
> services.openssh.passwordAuthentication = false;
>
> services.nixosManual.showManual = false;
>
> services.ttyBackgrounds.enable = false;
>
> services.hydra = {
> enable = true;
> hydra = ((import /home/simons/src/hydra/release.nix {})).build {};
> hydraURL = "http://hydra.cryp.to";
> notificationSender = "hydra at cryp.to";
> port = 8080;
> };
>
> systemd.services.hydra-db-setup = {
> description = "Create the PostgresSQL user and database for Hydra";
> serviceConfig.Type = "oneshot";
> serviceConfig.RemainAfterExit = true;
> before = [ "hydra-init.service" ];
> wantedBy = [ "hydra-init.service" ];
> script = ''
> if [ ! -e ~hydra/.pgpass ]; then
> ${pkgs.postgresql}/bin/createuser -S -D -R hydra
> ${pkgs.postgresql}/bin/createdb -O hydra hydra
> ${pkgs.postgresql}/bin/psql hydra -c "ALTER USER hydra with password '${config.users.extraUsers.hydra.password}';"
> echo >~hydra/.pgpass 'localhost:*:hydra:hydra:${config.users.extraUsers.hydra.password}'
> chown hydra ~hydra/.pgpass
> chmod 400 ~hydra/.pgpass
> fi
> '';
> # echo "INSERT INTO Users(userName, emailAddress, password) VALUES ('root', 'some at email.adress.com', '$(echo -n foobar | sha1sum | cut -c1-40)');" | psql hydra
> # echo "INSERT INTO UserRoles(userName, role) values('root', 'admin');" | psql hydra
> };
>
> services.postgresql = {
> enable = true;
> };
> };
> }
>
> _______________________________________________
> nix-dev mailing list
> nix-dev at lists.science.uu.nl
> http://lists.science.uu.nl/mailman/listinfo/nix-dev
More information about the nix-dev
mailing list