From c8d4ddcf04709616afbb3b8921692a182b8dfbf2 Mon Sep 17 00:00:00 2001 From: ckonstanski Date: Fri, 26 Nov 2021 14:25:33 -0700 Subject: initial commit --- .gitignore | 1 + example.ini | 13 ++++++++++++ requirements.txt | 1 + run.sh | 10 +++++++++ yaml/ckons.local/deploy.yaml | 39 ++++++++++++++++++++++++++++++++++ yaml/ckons.local/docker-container.yaml | 32 ++++++++++++++++++++++++++++ 6 files changed, 96 insertions(+) create mode 100644 .gitignore create mode 100644 example.ini create mode 100644 requirements.txt create mode 100755 run.sh create mode 100644 yaml/ckons.local/deploy.yaml create mode 100644 yaml/ckons.local/docker-container.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d09f385 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +ckons.local.ini diff --git a/example.ini b/example.ini new file mode 100644 index 0000000..d87a962 --- /dev/null +++ b/example.ini @@ -0,0 +1,13 @@ +[job_builder] +ignore_cache=True +keep_descriptions=False +include_path=.:scripts:~/git/ +recursive=False +exclude=.*:manual:./development +allow_duplicates=False + +[jenkins] +user=my_username +password=my_jenkins_api_key +url=http://jenkins.tld/ +query_plugins_info=False diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..1d847f4 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +jenkins-job-builder>=2.0.0.0b2 diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..b37d5d7 --- /dev/null +++ b/run.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +site="${1}" + +# for mac/homebrew +virtualenv venv || pyenv virtualenv -p python3.9 venv +. venv/bin/activate +venv/bin/pip install --upgrade -r requirements.txt +jenkins-jobs --conf "${site}.ini" update --delete-old "yaml/${site}" +exit 0 diff --git a/yaml/ckons.local/deploy.yaml b/yaml/ckons.local/deploy.yaml new file mode 100644 index 0000000..5c814ca --- /dev/null +++ b/yaml/ckons.local/deploy.yaml @@ -0,0 +1,39 @@ +--- +- project: + name: "deploy" + jobs: + - "{app}-deploy-{target}": + app: "wro" + node: "ansible" + deploy_script: "deploy-target.sh" + target: "sphinkpad" + installer_url: "git@ns:repos/wro-installer.git" + - "{app}-deploy-{target}": + app: "wro" + node: "ansible" + deploy_script: "deploy-target.sh" + target: "ns" + installer_url: "git@ns:repos/wro-installer.git" + +- job-template: + name: "{app}-deploy-{target}" + project-type: freestyle + node: "{node}" + properties: + - build-discarder: + num-to-keep: 1 + artifact-days-to-keep: 0 + - build-blocker: + use-build-blocker: true + blocking-jobs: + - "docker-container.*" + block_level: "GLOBAL" + queue-scanning: "BUILDABLE" + scm: + - git: + url: "{installer_url}" + branches: + - master + builders: + - shell: | + ./{deploy_script} {target} diff --git a/yaml/ckons.local/docker-container.yaml b/yaml/ckons.local/docker-container.yaml new file mode 100644 index 0000000..d2f810d --- /dev/null +++ b/yaml/ckons.local/docker-container.yaml @@ -0,0 +1,32 @@ +--- +- project: + name: "docker-container" + jobs: + - "docker-container-{container}": + container: "gentoo-baseimage" + ci_url: "git@ns:repos/gentoo-baseimage-ci.git" + installer_url: "" + - "docker-container-{container}": + container: "wro" + ci_url: "git@ns:repos/wro-ci.git" + installer_url: "git@ns:repos/wro-installer.git" + +- job-template: + name: "docker-container-{container}" + project-type: freestyle + node: docker + properties: + - build-discarder: + num-to-keep: 1 + artifact-days-to-keep: 0 + triggers: + - pollscm: + cron: "0 0 1 1 0" + scm: + - git: + url: "{ci_url}" + branches: + - master + builders: + - shell: | + ./build-docker-containers.sh {installer_url} -- cgit v1.3