summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2012-09-03 19:19:08 +0100
committerLars Wirzenius <liw@liw.fi>2012-09-03 19:19:08 +0100
commitb1ca3b12dee13c53992dfe52bef378f35f7d0da1 (patch)
treea38ca545412d72b7caee5aad11f095770af0cf9b /README
parente69d30e5d7e73e8144798b32f5b75aa4b067269c (diff)
downloadjenkinstool-b1ca3b12dee13c53992dfe52bef378f35f7d0da1.tar.gz
Update README
Diffstat (limited to 'README')
-rw-r--r--README48
1 files changed, 12 insertions, 36 deletions
diff --git a/README b/README
index eb57a20..cbc91b5 100644
--- a/README
+++ b/README
@@ -5,11 +5,13 @@ jenkinstool manages jobs in a Jenkins instance. It creates, updates,
and removes jobs for my projects in a systematic manner.
I have a bunch of personal projects, and I like to have continuous
-integration for them, especially since many of my projects depend on
-each other. For example, the `cliapp` command line application framework
-for Python is used by every other project of mine that has a command
-line interface of any kind. When I make any changes to `cliapp`, I want
-to catch any problems they may cause as early as possible.
+integration for them, especially since many of my projects depend
+on each other. For example, the `cliapp` command line application
+framework for Python is used by almost every other project of mine
+that has a command line interface of any kind. When I make any changes
+to `cliapp`, I want to catch any problems they may cause as early
+as possible. Thus, after I push changes to `cliapp`, the test suites
+for all the other projects should be run.
I create Debian packages of most of my projects, and I want that to be
done as automatically as possible. The Debian packaging toolset is
@@ -26,41 +28,15 @@ As a result, I have a large number of very similar jobs in Jenkins,
and I refuse to even try to manage them manually. Instead, I wrote
a tool to do that for me.
-Note that jenkinstool is in its early days of development.
+Note that jenkinstool is in its early days of development. It is now
+ready for me to start using it, but it may or may not be useful to you.
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
+There used to be documentation here for the pipelines, but it got out of
+date. The code is living too much, for now, to be easily documentable.
+Thus I refer you to the `jenkinstool` file. For now.
Author
------