summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2012-08-05 14:35:03 +0100
committerLars Wirzenius <liw@liw.fi>2012-08-05 14:35:03 +0100
commit986d3b7b4d4a57d863e4829c17bd04764d87ca5c (patch)
treed49b4c28daae9aebad36c56974d5844750cb991c
parent96968486f2e6e2504998cddfa017b5693f02e319 (diff)
downloadjenkinstool-986d3b7b4d4a57d863e4829c17bd04764d87ca5c.tar.gz
Add description of intended CI pipelines to README
-rw-r--r--README34
1 files changed, 34 insertions, 0 deletions
diff --git a/README b/README
index 9271d25..eb57a20 100644
--- a/README
+++ b/README
@@ -28,6 +28,40 @@ a tool to do that for me.
Note that jenkinstool is in its early days of development.
+Pipelines
+---------
+
+I have many projects. For each project, I may want to do some or all of
+the following:
+
+* build the project in one or more environments: different Debian releases,
+ other Linux distributions, maybe other operating systems; also, different
+ CPU architectures; in the future, maybe other variations
+ - I set up each environment separately, as a virtual machine
+ - the environments are not set up as "workers" in Jenkins, since that
+ requires having Jenkins run in the worker; instead, jenkinstool
+ generates the necessary shell commands to run stuff in each
+ environment
+ - as the first step of the build, update the environment to use
+ latest versions of all my projects
+* if the build succeeds, generate a release tarball
+ - a suitable version number is invented if the commit is not an
+ actual release
+* if the project is packaged for Debian, build Debian source package,
+ then build binary packages for each Debian release being supported
+ - for example, squeeze (for upload to code.liw.fi) and sid (for
+ upload to Debian), both on amd64 and i386
+ - if the builds work, run lintian on the resulting .changes files
+ - finally, upload source and binary packages to an apt
+ repository on the Jenkins master; this repository is used by
+ the Debian package build jobs so that the newly built packages
+ can be used for future builds without having to upload to a real
+ repository
+* finally, trigger the pipeline for any reverse dependency project
+ - e.g., since cliapp depends on coverage-test-runner, if
+ coverage-test-runner uploads new Debian packages, trigger the
+ pipeline for cliapp
+
Author
------