diff --git a/nixos/modules/services/continuous-integration/jenkins/default.nix b/nixos/modules/services/continuous-integration/jenkins/default.nix index c76aac1fa7de..96ded1e4c765 100644 --- a/nixos/modules/services/continuous-integration/jenkins/default.nix +++ b/nixos/modules/services/continuous-integration/jenkins/default.nix @@ -11,13 +11,7 @@ in { options = { services.jenkins = { - enable = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Whether to enable the jenkins continuous integration server. - ''; - }; + enable = lib.mkEnableOption "Jenkins, a continuous integration server"; user = lib.mkOption { default = "jenkins"; @@ -89,11 +83,13 @@ in package = lib.mkPackageOption pkgs "jenkins" { }; + javaPackage = lib.mkPackageOption pkgs "jdk21" { }; + packages = lib.mkOption { default = [ pkgs.stdenv pkgs.git - pkgs.jdk17 + pkgs.jdk21 config.programs.ssh.package pkgs.nix ]; @@ -239,7 +235,7 @@ in # For reference: https://wiki.jenkins.io/display/JENKINS/JenkinsLinuxStartupScript script = '' - ${pkgs.jdk17}/bin/java ${lib.concatStringsSep " " cfg.extraJavaOptions} -jar ${cfg.package}/webapps/jenkins.war --httpListenAddress=${cfg.listenAddress} \ + ${cfg.javaPackage}/bin/java ${lib.concatStringsSep " " cfg.extraJavaOptions} -jar ${cfg.package}/webapps/jenkins.war --httpListenAddress=${cfg.listenAddress} \ --httpPort=${toString cfg.port} \ --prefix=${cfg.prefix} \ -Djava.awt.headless=true \ diff --git a/pkgs/by-name/je/jenkins/package.nix b/pkgs/by-name/je/jenkins/package.nix index d316adda27ca..4ed589a9cb56 100644 --- a/pkgs/by-name/je/jenkins/package.nix +++ b/pkgs/by-name/je/jenkins/package.nix @@ -8,7 +8,7 @@ gnused, makeWrapper, nix, - openjdk, + jdk21, writeScript, nixosTests, jq, @@ -33,10 +33,10 @@ stdenv.mkDerivation (finalAttrs: { cp "$src" "$out/webapps/jenkins.war" # Create the `jenkins-cli` command. - ${openjdk}/bin/jar -xf "$src" WEB-INF/lib/cli-${finalAttrs.version}.jar \ + ${jdk21}/bin/jar -xf "$src" WEB-INF/lib/cli-${finalAttrs.version}.jar \ && mv WEB-INF/lib/cli-${finalAttrs.version}.jar "$out/share/jenkins-cli.jar" - makeWrapper "${openjdk}/bin/java" "$out/bin/jenkins-cli" \ + makeWrapper "${jdk21}/bin/java" "$out/bin/jenkins-cli" \ --add-flags "-jar $out/share/jenkins-cli.jar" '';