mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-10 03:23:29 +03:00
nixos/jenkins: Introduce javaPackage option; Bump Java version to 21 (#412480)
This commit is contained in:
commit
7f7282e533
2 changed files with 8 additions and 12 deletions
|
@ -11,13 +11,7 @@ in
|
||||||
{
|
{
|
||||||
options = {
|
options = {
|
||||||
services.jenkins = {
|
services.jenkins = {
|
||||||
enable = lib.mkOption {
|
enable = lib.mkEnableOption "Jenkins, a continuous integration server";
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
description = ''
|
|
||||||
Whether to enable the jenkins continuous integration server.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
user = lib.mkOption {
|
user = lib.mkOption {
|
||||||
default = "jenkins";
|
default = "jenkins";
|
||||||
|
@ -89,11 +83,13 @@ in
|
||||||
|
|
||||||
package = lib.mkPackageOption pkgs "jenkins" { };
|
package = lib.mkPackageOption pkgs "jenkins" { };
|
||||||
|
|
||||||
|
javaPackage = lib.mkPackageOption pkgs "jdk21" { };
|
||||||
|
|
||||||
packages = lib.mkOption {
|
packages = lib.mkOption {
|
||||||
default = [
|
default = [
|
||||||
pkgs.stdenv
|
pkgs.stdenv
|
||||||
pkgs.git
|
pkgs.git
|
||||||
pkgs.jdk17
|
pkgs.jdk21
|
||||||
config.programs.ssh.package
|
config.programs.ssh.package
|
||||||
pkgs.nix
|
pkgs.nix
|
||||||
];
|
];
|
||||||
|
@ -239,7 +235,7 @@ in
|
||||||
|
|
||||||
# For reference: https://wiki.jenkins.io/display/JENKINS/JenkinsLinuxStartupScript
|
# For reference: https://wiki.jenkins.io/display/JENKINS/JenkinsLinuxStartupScript
|
||||||
script = ''
|
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} \
|
--httpPort=${toString cfg.port} \
|
||||||
--prefix=${cfg.prefix} \
|
--prefix=${cfg.prefix} \
|
||||||
-Djava.awt.headless=true \
|
-Djava.awt.headless=true \
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
gnused,
|
gnused,
|
||||||
makeWrapper,
|
makeWrapper,
|
||||||
nix,
|
nix,
|
||||||
openjdk,
|
jdk21,
|
||||||
writeScript,
|
writeScript,
|
||||||
nixosTests,
|
nixosTests,
|
||||||
jq,
|
jq,
|
||||||
|
@ -33,10 +33,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
cp "$src" "$out/webapps/jenkins.war"
|
cp "$src" "$out/webapps/jenkins.war"
|
||||||
|
|
||||||
# Create the `jenkins-cli` command.
|
# 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"
|
&& 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"
|
--add-flags "-jar $out/share/jenkins-cli.jar"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue