summary refs log tree commit diff
path: root/nixos/modules/services/continuous-integration
Commit message (Collapse)AuthorAge
...
* hydra-module: add cfg.package to hydra-evaluator pathAycan iRiCAN2016-11-28
|
* nixos/modules: use defaultText where applicableJoachim Fasting2016-11-21
| | | | | | Primarily to fix rendering of these default values in the manual but it's also nice to avoid having to eval these things just to build the manual.
* gitlab-runner service: initial versionPascal Bach2016-09-23
|
* gocd-server: add startupOptions, empty extraOptionsTom von Schwerdtner2016-09-10
| | | | | | | | | The extraOptions option has default values which seems surprising. This moves those values to startupOptions (which is what gocd-agent uses) and empties out the default extraOptions. The gocd-agent startupOptions description was also changed to remove the mention of the example (given there isn't one).
* Merge pull request #17469 from ericsagnes/module/hydraDomen Kožar2016-08-20
|\ | | | | Improvements to Hydra module
| * hydra-module: add default to buildMachinesFilesEric Sagnes2016-08-03
| |
| * hydra-module: honor user and group idsEric Sagnes2016-08-03
| |
* | buildkite-agent: always write out the ssh keys.Mark Fine2016-08-17
| |
* | gocd-agent: 16.7.0 startup fixes + test improvementsGraham Christensen2016-08-10
| | | | | | | | | | | | | | - Agent now takes a full URL to the Go.CD server - Instruct the agent to attempt restart every 30s upon failure - Test's Accept header did not match the server's expectation - Replace the tests' complex Awk matches with calls to `jq`
* | bump gocd-agent version to 16.6.0-3590 (#17311)Shawn Warren2016-08-10
|/ | | | | Update gocd-agent package version to 16.6.0-3590 including new sha. Modify heapSize and maxMemory mkOption to accurately reflect their intended purpose of configuring initial java heap sizes.
* bump gocd-server version to 16.6.0-3590 (#17304)Shawn Warren2016-07-27
| | | | | Update gocd-server package version to 16.6.0-3590 including new sha. Modify heapSize and maxMemory mkOption to accurately reflect their intended purpose of configuring initial java heap sizes.
* Add gocd agent and server service packages (#16273)Shawn Warren2016-07-23
| | | | | | | GoCD is an open source continuous delivery server specializing in advanced workflow modeling and visualization. Update maintainers list to include swarren83. Update module list to include gocd agent and server module. Update packages list to include gocd agent and server package. Update version, revision and checksum for GoCD release 16.5.0.
* jenkins: move $out/{lib => webapps}/jenkins.warBjørn Forsman2016-07-15
| | | | | | | | | | As pointed out by @danbst, the tomcat NixOS module expects packages listed in services.tomcat.webapps to either be direct .war file paths or have .war files inside a "webapps" directory. Commit 4075c10a59af455db2012beb313453662f09dad0 ("jenkins: move .war file from $out to $out/lib/jenkins.war") broke jenkins + tomcat. Fix it by moving jenkins.war to $out/webapps/.
* jenkins: move .war file from $out to $out/lib/jenkins.warBjørn Forsman2016-07-15
| | | | | | | | | | | | | | | | Fixes #14137, also known as: $ nix-shell -p jenkins bash: source: /nix/store/ln1yw6c2v8bb2cjqfr1z5aqcssw054wa-jenkins-2.3: cannot execute binary file [nix-shell exited with error] The problem is that jenkins.war is not installed inside the directory $out, but rather _as the file_ $out. Fix it by moving the file to $out/lib/jenkins.war. While at it, move buildCommand so that the "meta" section is at the end of the expression (standard style), and quote shell variables.
* buildkite-agent: init at 2.1.8Paweł Pacana2016-06-13
| | | | | | | | * nixos module included * install compiled binary * only one platform now * limited config options * relies on providing ssh keys for agent
* Add hydra package and its NixOS module.Domen Kožar2016-06-01
| | | | | | | | | | | | This was originally removed in d4d0e449d7b96704eeaa2570255fb41c85c49613. The intent was not to maintain hydra expression at two places. Nowadays we have enough devs to maintain this despite copy/pasta. This should encourage more people to use Hydra, which is a really great piece of software together with Nix. Tested a deploy using https://github.com/peti/hydra-tutorial
* jenkins module: Check for 200 & 403 response codesFranz Pletz2016-05-13
| | | | | The new jenkins version shows a setup wizard on first startup that will throw a 403 HTTP response code instead of 200.
* jenkins service: improve curl call in postStartBjørn Forsman2016-05-03
| | | | | | | | | | | * Perform HTTP HEAD request instead of full GET (lighter weight) * Don't log output of curl to the journal (it's noise/debug) * Use explicit http:// URL scheme * Reduce poll interval from 10s to 2s (respond to state changes quicker). Probably not relevant on boot (lots of services compete for the CPU), but online service restarts/reloads should be quicker. * Pass --fail to curl (should be more robust against false positives) * Use 4 space indent for shell code.
* jenkins service: remove unneeded (and brittle) part of postStartBjørn Forsman2016-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | The current postStart code holds Jenkins off the "started" state until Jenkins becomes idle. But it should be enough to wait until Jenkins start handling HTTP requests to consider it "started". More reasons why the current approach is bad and we should remove it, from @coreyoconnor in https://github.com/NixOS/nixpkgs/issues/14991#issuecomment-216572571: 1. Repeatedly curling for a specific human-readable string to determine "Active" is fragile. For instance, what happens when jenkins is localized? 2. The time jenkins takes to initializes is variable. This (at least used to) depend on the number of jobs and any plugin upgrades requested. 3. Jenkins can be requested to restart from the UI. Which will not affect the status of the service. This means that the service being "active" does not imply jenkins is initialized. Downstream services cannot assume jenkins is initialized if the service is active. Might as well accept that and remove the initialized test from service startup. Fixes #14991.
* Merge master into closure-sizeVladimír Čunát2016-03-08
|\ | | | | | | | | The kde-5 stuff still didn't merge well. I hand-fixed what I saw, but there may be more problems.
| * Configure a default trust store for opensslGuillaume Maudoux2016-02-03
| |
* | Merge branch 'staging' into closure-sizeVladimír Čunát2016-01-19
|\|
| * Add missing 'type', 'defaultText' and 'literalExample' in module definitionsThomas Strobel2016-01-17
| | | | | | | | | | | | - add missing types in module definitions - add missing 'defaultText' in module definitions - wrap example with 'literalExample' where necessary in module definitions
* | Merge branch 'master' into closure-sizeVladimír Čunát2015-12-31
|\| | | | | | | | | TODO: there was more significant refactoring of qtbase and plasma 5.5 on master, and I'm deferring pointing to correct outputs to later.
| * nixos/jenkins: fix typo in docstring (s/adress/address/)Bjørn Forsman2015-12-23
| |
| * nixos/jenkins: rename option 'host' to 'listenAddress'Bjørn Forsman2015-12-23
| | | | | | | | | | | | | | | | | | | | | | I think the name 'listenAddress' is more descriptive. Other NixOS modules that define 'host' either use it as listen address or as address a client connects to. listenAddress is unambiguous. The addition of 'host' was added earlier today[1], so not bothering with ./nixos/modules/rename.nix. [1]: 44ea18499710049e ("jenkins ci enhancement: add port and prefix option")
| * jenkins-job-builder fix: use prefix and host from jenkins cfg, fixes #11897Augustin Borsu2015-12-23
| |
| * jenkins ci enhancement: add port and prefix optionAugustin Borsu2015-12-23
| | | | | | | | | | | | | | As named these options enable to specify a bind host and url prefix to be used by jenkins. Adding these options in the config rather than using extra arguments allows us to re-use those information in other services using jenkins such as jenkins-job-builder or a reverse proxy.
* | Merge staging into closure-sizeVladimír Čunát2015-11-20
|\| | | | | | | | | | | The most complex problems were from dealing with switches reverted in the meantime (gcc5, gmp6, ncurses6). It's likely that darwin is (still) broken nontrivially.
| * nixos: add services.jenkins.jobBuilder optionBjørn Forsman2015-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This option allows to define (declarative) Jenkins jobs, using Jenkins Job Builder (JJB) as backend. Example: services.jenkins = { enable = true; jobBuilder = { enable = true; yamlJobs = '' - job: name: jenkins-job-test builders: - shell: echo 'Hello world!' ''; }; }; Jobs can be defined using YAML, JSON and Nix. Note that it really is declarative configuration; if you remove a previously defined job, the module will remove the jobdir under $JENKINS_HOME. Jobs managed through the Jenkins WebUI (or by other means) are not touched by this module. Changes v1 -> v2: * add nixJobs * let jsonJobs take a list of strings (allows merge) * 4 space indent in shell code
| * nixos/jenkins: force .war (re)extraction at start-upBjørn Forsman2015-11-02
| | | | | | | | Or else we might run stale Jenkins.
| * nixos/jenkins: reduce default environmentBjørn Forsman2015-10-06
| | | | | | | | | | | | Don't pull in all of environment.sessionVariables, only add what's needed for nix and HTTPS to work (which was the point of the previous patch).
| * nixos/jenkins: rework environment handlingBjørn Forsman2015-10-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Jenkins gets (by default) an additional environment of { NIX_REMOTE = "daemon"; } This has the following problems: 1. NIX_REMOTE disappears when users specify additional environment variables, because defaults have low merge priority. 2. nix cannot be used without additional NIX_PATH envvar, which is currently missing. 3. If you try to use HTTPS, you'll see that jenkins lacks SSL_CERT_FILE envvar, causing it to fail. This commit adds config.environment.sessionVariables and NIX_REMOTE to the set of variables that are always there for jenkins, making nix and HTTPS work out of the box. services.jenkins.environment is now empty by default.
* | curl: split into multiple outputsVladimír Čunát2015-10-13
|/ | | | Also use pkgconfig to be safer and fix (some) referrers.
* nixos: Replace pkgs.openssh with config.programs.ssh.packageWilliam A. Kennington III2015-06-26
|
* types.uniq types.int -> types.intEelco Dolstra2015-06-15
| | | | types.int already implies uniqueness.
* nixos/jekins: add services.jenkins.extraGroups optionBjørn Forsman2014-09-12
| | | | | This makes it easy to give jenkins extra privileges by adding group memberships. Use with care :-)
* nixos/jekins: rename option services.jenkins.{extraOpts => extraOptions}Bjørn Forsman2014-09-09
| | | | | I noticed "extraOptions" is infinitely more used than "extraOpts" in NixOS.
* nixos/jenkins: remove use of types.string (it's deprecated)Bjørn Forsman2014-09-09
|
* nixos/jenkins: add services.jenkins.extraOpts optionBjørn Forsman2014-09-09
| | | | Allows passing extra command line arguments to Jenkins.
* Rewrite ‘with pkgs.lib’ -> ‘with lib’Eelco Dolstra2014-04-14
| | | | | | | | Using pkgs.lib on the spine of module evaluation is problematic because the pkgs argument depends on the result of module evaluation. To prevent an infinite recursion, pkgs and some of the modules are evaluated twice, which is inefficient. Using ‘with lib’ prevents this problem.
* Fix tests broken due to the firewall being enabled by defaultEelco Dolstra2014-04-11
|
* nixos/jenkins-service: fix 'group' option documentationBjørn Forsman2014-04-09
| | | | Both for master and slave.
* remove users.jenkins config start on slave config.Corey O'Connor2014-03-13
| | | | | | Uses standard NixOS user config merging. Work in progress: The slave config does not actually start the slave agent. This just configures a jenkins user if required. Bare minimum to enable a nice jenkins SSH slave.
* match systemd style and silent curl progress bar during startup checkCorey O'Connor2014-03-13
|
* Add jenkins continuous integration server and user.Corey O'Connor2014-03-13
By default the jenkins server is executed under the user "jenkins". Which can be configured using users.jenkins.* options. If a different user is requested by changing services.jenkins.user then none of the users.jenkins options apply. This patch does not include jenkins slave configuration. Some config options will probably change when this is implemented. Aspects like the user and environment are typically identical between slave and master. The service configs are different. The design is for users.jenkins to cover the shared aspects while services.jenkins and services.jenkins-slave cover the master and slave specific aspects, respectively. Another option would be to place everything under services.jenkins and have a config that selects master vs slave.