News for hackers. Stuff that matters.
Re:Concourse CI by webo on Monday July 17, 2017 @01:11AM (#14785840)
Mostly off-topic but I've been looking for more than a CI for some quite time, more on the CD side. How are you guys handling some of these cases? Bonus points for hosted options.

- Truly a pipeline based stages. No messing around with git branches/tags for each environment release.

- Ability to combine multiple builds together.

- Build dependencies. Ability to trigger project-B build when project-A build succeeds. (Docker Cloud Builds have something like this.)

- Use the same artifact across multiple build stages.

- An option to promote a build to the next step either manually or automatically.

Amazon's internal Apollo system was amazing. AWS Code Pipelines kind of does some of these things but it's every limited and hard to work with.

Re:Concourse CI by perlgeek on Monday July 17, 2017 @08:30AM (#14787861)
We use https://gocd.io/ so I'll comment on this:

> - Truly a pipeline based stages. No messing around with git branches/tags for each environment release.

That's how we use it. We have two or more stages for each environment (repo upload + installation, often tests) that are simply chained.

> - Ability to combine multiple builds together.

You can do fan-in and fan-out between pipelines (you can combine multiple pipelines in a DAG).

> - Build dependencies. Ability to trigger project-B build when project-A build succeeds. (Docker Cloud Builds have something like this.)

As above, with a graph of pipelines. We use this to trigger rebuild of some projects when libraries change.

> - Use the same artifact across multiple build stages.

You can reference and retrieve artifacts from all previous stages, even stages from upstream pipelines. The syntax for referencing takes some time to get used to.

> - An option to promote a build to the next step either manually or automatically.

automatic is default, but you can have manual approval steps, optionally with permissions attached to them.

Plug: I wrote a book that uses GoCD for its examples: https://leanpub.com/deploy

Re:Concourse CI by argon81 on Monday July 17, 2017 @03:49AM (#14786442)
https://buildkite.com has all those features, and very easy to work with.

It's a hybrid hosted model -you supply your own workers (they provide a CFN template to make that part easy), everything else (e.g. web UI/API) is hosted

Re:Concourse CI by kawsper on Monday July 17, 2017 @06:39AM (#14787187)
Buildkite is hands down the best tool we have used.
Re:Concourse CI by keybits on Monday July 17, 2017 @04:31AM (#14786628)
CircleCI's New 'Workflows' in their 2.0 version looks like it has these features: https://circleci.com/docs/2.0/workflows/
Re:Concourse CI by sytse on Monday July 17, 2017 @01:40AM (#14785950)
GitLab CI has multi project pipeline, triggers, artifacts, and manually approved next steps. But I'm not sure what your first requirement means, GitLab CI always composes pipelines from individual projects so it probably doesn't meet your criteria. I'm interested to hear what you ran into with previous systems that made this your nr 1 criteria.
Re:Concourse CI by manojlds on Monday July 17, 2017 @02:40AM (#14786167)
Have you looked at Go.CD - https://www.gocd.org/
Re:Concourse CI by henryaj on Monday July 17, 2017 @07:53AM (#14787625)
> Build dependencies. Ability to trigger project-B build when project-A build succeeds

Within a pipeline, you can 'pass' an output of one step as a triggering input to another. Across pipelines, you can use e.g. an S3 resource to save state; the job to be triggered looks at that S3 resource and triggers when it changes.

> Use the same artifact across multiple build stages.

Yep - you can pass the output of one job to be used as the input of another.

> Ability to combine multiple builds together.

Yep - have a look for "fan-in" in the docs.

> An option to promote a build to the next step either manually or automatically.

You can manually trigger steps from the UI; you could also have a resource that triggers a job automatically on some condition.

Re:Concourse CI by tomprince on Monday July 17, 2017 @01:20AM (#14785864)
Mozilla's TaskCluster is definitely aimed at CI use cases, but does handle all the requirements you listed. It is entirely open-source, but unfortunately they aren't currently interested in supporting other organizations running it.
Re:Concourse CI by falsedan on Monday July 17, 2017 @10:10AM (#14788616)
I used Octopus Deploy for .Net, it was amazing. It did releases as first-class objects (a collection of versioned packages pulled from a repository), per-environment configs, parallel execution of steps, rolling windows (for bouncing a few hosts at a time), pre- & post- activate scripts, and great IIS integration.

There was talk of Python + Linux support a few years back, a shame that didn't take off.

Re:Concourse CI by paulstovell on Wednesday July 19, 2017 @09:13AM (#14804010)
(Octopus CEO here)

You can do Linux today actually - you can connect to machines over SSH, run bash scripts, etc. Today there's a Mono dependency, but in the next couple of weeks we'll be rolling out a beta that removes that dependency.

Python scripting support is on the roadmap - :-)

Re:Concourse CI by jeremya on Monday July 17, 2017 @08:59AM (#14788033)
Check out CDDirector[0]. I've been using it to model release pipelines and enjoying it quite a bit. Disclaimer, I work for CA Technologies though not on this product.

[0] https://cddirector.io/

Re:Concourse CI by Liriel on Monday July 17, 2017 @10:36AM (#14788828)
Have you checked out https://semaphoreci.com ?