diff options
author | Lars Wirzenius <liw@liw.fi> | 2018-06-09 13:33:11 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2018-06-09 13:33:11 +0300 |
commit | 8929aaf0c92bceb621e4d3728ba97e24d7a6fe23 (patch) | |
tree | 87a82c2e23078d3d6d8e7dd09604c127608b1ea7 /architecture.mdwn | |
parent | 3344bf4933c001b7902da0387bd894d8fbf3b89b (diff) | |
download | ick.liw.fi-8929aaf0c92bceb621e4d3728ba97e24d7a6fe23.tar.gz |
Change: expand on "background and justification" section
Diffstat (limited to 'architecture.mdwn')
-rw-r--r-- | architecture.mdwn | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/architecture.mdwn b/architecture.mdwn index a036cd2..4efd49b 100644 --- a/architecture.mdwn +++ b/architecture.mdwn @@ -30,10 +30,36 @@ changed. Background and justification ----------------------------------------------------------------------------- -This section should be written some day. In short, Lars got tired of -Jenkins, and all competitors seem insufficient or somehow -unpleasant. Then Daniel suggested a name and Lars is incapable of not -starting a project if given a name for it. +Ick's main developer learned to program in the 1980s, studies computer +science in the early 1990s, and has been working in the industry since +the mid-1990s. Very roughly, in the 1980s there were few if any +automated tests, a little of it in the late 1990s, and it became +prevalent in the early 2000s. As more automated tests started +happening, it turned out that programmers keep forgetting to run them. +Thus was created automation to run the tests whenever code has +changed. This has since morphed into full blown continuous integration +systems, which do builds, run tests, and possibly do other things. + +A common CI system is Jenkins, originally called Hudson, but renamed +after Oracle bought Sun Microsystems. Jenkins is used widely in the +industry. Ick's main developer has not been happy with it, however, +and decided to write a new system. The current ick is the second +generation of ick. The first generation (only ever used by its +developer) was written in a two-week frenzy of hacking to get +something, anything that could replace Jenkins in specific use cases. +The first generation was just good enough to be used by its developer, +but not satisfactory otherwise. It also had a very awkward +architecture that among other things only allowed running one build at +a time, and did not work well as a service. + +The second (current) generation of ick is a re-design from scratch, +keeping nothing of the first genearation. It is explicitly aimed to +become a "hostable" system: to allow an ick instance to be a CI system +to a number of independent users. + +The name "ick" was suggestd by Daniel Silverstone in an IRC +discussion. He said "all CI systems are icky", and this prompted Lars +to name the first generation "ick". Overview |