summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--example.ini13
-rw-r--r--requirements.txt1
-rwxr-xr-xrun.sh10
-rw-r--r--yaml/ckons.local/deploy.yaml39
-rw-r--r--yaml/ckons.local/docker-container.yaml32
6 files changed, 96 insertions, 0 deletions
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}