diff options
Diffstat (limited to 'nixpkgs/pkgs/development/tools/continuous-integration/jenkins')
-rw-r--r-- | nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix | 24 | ||||
-rwxr-xr-x | nixpkgs/pkgs/development/tools/continuous-integration/jenkins/update.sh | 22 |
2 files changed, 46 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix new file mode 100644 index 000000000000..89df5c1241bb --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "jenkins-${version}"; + version = "2.164.2"; + + src = fetchurl { + url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war"; + sha256 = "1pmya8g3gs5f9ibbgacdh5f6828jcrydw7v7xmg2j86kwc1vclf8"; + }; + + buildCommand = '' + mkdir -p "$out/webapps" + cp "$src" "$out/webapps/jenkins.war" + ''; + + meta = with stdenv.lib; { + description = "An extendable open source continuous integration server"; + homepage = https://jenkins-ci.org; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ coconnor fpletz earldouglas ]; + }; +} diff --git a/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/update.sh b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/update.sh new file mode 100755 index 000000000000..66d1b4ceff66 --- /dev/null +++ b/nixpkgs/pkgs/development/tools/continuous-integration/jenkins/update.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl common-updater-scripts jq + +set -eu -o pipefail + +core_json="$(curl -s --fail --location https://updates.jenkins.io/stable/update-center.actual.json | jq .core)" +oldVersion=$(nix-instantiate --eval -E "with import ./. {}; jenkins.version or (builtins.parseDrvName jenkins.name).version" | tr -d '"') + +version="$(jq -r .version <<<$core_json)" +sha256="$(jq -r .sha256 <<<$core_json)" +hash="$(nix-hash --type sha256 --to-base32 "$sha256")" +url="$(jq -r .url <<<$core_json)" + +if [ ! "${oldVersion}" = "${version}" ]; then + update-source-version jenkins "$version" "$hash" "$url" + nixpkgs="$(git rev-parse --show-toplevel)" + default_nix="$nixpkgs/pkgs/development/tools/continuous-integration/jenkins/default.nix" + git add "${default_nix}" + git commit -m "jenkins: ${oldVersion} -> ${version}" +else + echo "jenkins is already up-to-date" +fi |