UKHomeOffice / centralteam_ci

Looking at CI solutions centrally as a strategic goal for HO
1 stars 2 forks source link

Investigate current CI's #19

Closed easternbloc closed 8 years ago

easternbloc commented 8 years ago

Check if there are any other solutions available to run containerised builds other than drone and circleci.

High level checklist to be added to this ticket.

Must haves:

Current CIs to review:

danielepolencic commented 8 years ago

related: https://github.com/UKHomeOffice/centralteam_ci/pull/20

easternbloc commented 8 years ago

For some reason @danielepolencic I can't assign you to this ticket :(

danielepolencic commented 8 years ago

I can't push to this repo either

easternbloc commented 8 years ago

@danielepolencic sorted ;)

danielepolencic commented 8 years ago

I think we may want to consider https://concourse.ci/

Name Containerised Gitlab/Github License/Price Remote Job triggering Behind a firewall
concourse Yes Github only Apache 2.0 Yes Yes
Drone Yes Github OR Gitlab Apache 2.0 No 0.4 - 0.5 Yes
CircleCI Yes Github only $750pm/16 agents/16 container + $50pm/ extra container Yes2 Yes
Codeship Yes Github only $199pm 3pipelines 3agents No3 Yes
Werker Yes Github only From $350 / mo1 Yes No

[1] Werker is piloting paid subscriptions. [2] Experimental feature [3] Only restart and list jobs

vaijab commented 8 years ago

Simple CI/CD workflow as I imagine it (use http://asciiflow.com/ to edit)

+------------+
|code(nodejs)|                                         +----------------+
|   github   <--------+                                | kube files code|
|   push/PR  |        |                                | github         |
+-----+------+        |                                | push/PR        <--------+
      |             pass/                              |                |        |
     1|             fail                               +-------+--------+        |
      |               |                                        |                 |
+-----v------+        |                                        |                 |
|    CI      |    2   |                                        |                 |
|   build    +--------+                                        |4b               |5b
|   test/push|                                                 |               pass/fail
+-----+------+                                                 |                 |
      |                                                        |                 |
      |                                                        |                 |
     3|                     +------------+              +------v--------+        |
      |   artifact push     |            |       4a     |   CI(CD)      |        |
      +---------------------> quay /     +-------------->  deploy using +--------+
                            | artifactory|              |  kube files   |
                            |            |              |  repo         |
                            +------^-----+              +-------+-------+
                                   |                            |
                                   |                            |
                                   |                            |
                                   |             5a             |
                                   +----------------------------+
                                               pass/fail
danielepolencic commented 8 years ago

I wasn't able to deploy brp_app to concourse and eventually gave up. Overall it feels very complicated.

I spent some time looking at drone and I found this interesting discussion about triggering remote jobs through an API.

easternbloc commented 8 years ago

I spent some time looking at drone and I found this interesting discussion about triggering remote jobs through an API.

Looks very interesting

easternbloc commented 8 years ago

@danielepolencic perhaps we could get rick to move the meeting on monday to the end of the day and we could pair on some of the remaining CI spikes?

danielepolencic commented 8 years ago

@easternbloc Yes, we can. ATM I'm playing with drone0.5 (master).

Also, I think we should add Travis CI to the list. The code is open source, there should be a way to self host it?

danielepolencic commented 8 years ago

https://github.com/lambci/lambci

image

danielepolencic commented 8 years ago

Netflix: http://www.spinnaker.io/ Soundcloud: http://gotocon.com/dl/goto-zurich-2013/slides/AlexanderSimmerl_and_MattProud_BuildingAnInHouseHeroku.pdf pinterest: https://github.com/pinterest/teletraan airbnb: https://www.solanolabs.com/

danielepolencic commented 8 years ago

Stackstorm: https://github.com/StackStorm/st2

czeczotka commented 8 years ago

Hello, in the dev world there is definitely a lot of attention to TeamCity and Bamboo. Did we have a change to look at these? https://www.jetbrains.com/teamcity/features/ https://www.atlassian.com/software/bamboo/features

vaijab commented 8 years ago

Hello, in the dev world there is definitely a lot of attention to TeamCity and Bamboo. Did we have a change to look at these? https://www.jetbrains.com/teamcity/features/ https://www.atlassian.com/software/bamboo/features

I don't have personal experience with neither of them, but as far as I know they are both monsters, like jenkins. A pain to run, a pain to scale and manage.

vaijab commented 8 years ago

We've picked drone.