It is ready to be given a try, and it is still under change and development. OK thanks so much for all the detailed info you've included here. I'll dig into it and will report back here for any questions or issues. Thanks! I would love to get to a world that deploying CF is so easy that the public documentation suffices for any individual team to set up their own CI easily. +1 from me :) as IMO that's key for growth and traction in a public and open community. - Jean-Sebastien On Wed, Oct 7, 2015 at 8:32 PM, Amit Gupta <agupta(a)pivotal.io> wrote: Hi Jean-Sebastien.
Yes and yes. It is ready to be given a try, and it is still under change and development. There are several tools in mega-ci:
1. provision AWS for BOSH and Concourse (and optionally CF), and deploy BOSH. 2. deploy Concourse into that environment 3. provision AWS for BOSH and CF (without Concourse), and deploy BOSH.
The "provision AWS" parts are done via CloudFormation templates. I'm not sure how to characterize the dependency on AWS API there, but the CloudFormation templates have a format version, and we currently use the only valid format, which has been stable for 5 years:
http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/format-version-structure.html
Tools 1 ( https://github.com/cloudfoundry/mega-ci/#provisioning-aws-for-bosh-and-concourse-and-deploying-bosh) and 2 (https://github.com/cloudfoundry/mega-ci/#deploying-concourse) mentioned above get you a concourse ready to run builds that deploy CF. Depending on how well you understand AWS, BOSH, Concourse, and CF, the pipeline config ymls and CI scripts in the same mega-ci repo can be modified and used to continuously deploy CF to your environment. But they are not ideal for the onboarding experience.
As for your point about whether other projects have to figure out individually how to operate CI builds, that's a very poignant question. Currently, the answer is yes. There is a dojo program designed to allow people in the foundation to pair with the core teams to learn the system, CI practices, etc. I would love to get to a world that deploying CF is so easy that the public documentation suffices for any individual team to set up their own CI easily.
Among the 20 or so core development teams, distributed around the world, comprised of 100+ developers from several different companies, there actually is a fairly robust, well integrated set of tools and practices around CI and how we consume and produce assets for other pipelines. As the foundation grows, the onboarding story will need to be improved. But this is no small problem.
There are 100s of v219+ builds happening every day (and next week, there will be v220+ builds). For now, I'd recommend opening up mailing list issues or Github issues (e.g. here: https://github.com/cloudfoundry/cf-release/issues) with the specific errors you're encountering, the core development teams are happy to help the community past the initial technical and conceptual bootstrapping hurdles.
And to address your question about the financials, I don't know the complete picture, but the question "who foots the bills for all the current CIs?" and "who should foot the bill for a publicly available pool of CI environments?" probably have different answers.
Cheers, Amit, OSS Release Integration PM
On Wed, Oct 7, 2015 at 3:48 PM, Jean-Sebastien Delfino < jsdelfino(a)gmail.com> wrote:
Hi Amit,
We're working on making deploying CF itself less burdensome, but that will take more time.
Is that tooling [1] ready for use? In other words is it ready for me to give it a try, or is still under dev? How strong is the dependency on the AWS API?
As for having someone actually maintain CF environments for the community or dev teams to checkout and use as a service, the question is, who foots the bill?
There's obviously a lot that I don't know yet about the CF community as a new kid on the block here, but I see that we have a common CF mailing list infra, common Github org and repos, some Web sites, some governance. So for me, naively, the next logical thing to look for as a resource operated by and for the CF community, was... a common build infra for the CF projects to share :) Who foots the bill for the other existing CF common resources?
[1] https://github.com/cloudfoundry/mega-ci
-- Jean-Sebastien
On Tue, Oct 6, 2015 at 9:03 AM, Amit Gupta <agupta(a)pivotal.io> wrote:
The CF OSS Release Integration team (aka MEGA) is working on tooling to fully bootstrap an AWS VPC with BOSH and Concourse running, and sufficient AWS resources (eg subnets, ELB) to deploy CF: https://github.com/cloudfoundry/mega-ci
We're working on making deploying CF itself less burdensome, but that will take more time.
As for having someone actually maintain CF environments for the community or dev teams to checkout and use as a service, the question is, who foots the bill?
Amit
On Tuesday, October 6, 2015, Michael Maximilien <mmaximilien(a)gmail.com> wrote:
Chiming in with some info and to add to Sebastien's request.
While most of the teams in CF have switched to using concourse for their pipelines. And each pipeline instantiation has to be built and manage individually. The issue mentioned here, needing to provision latest CF releases to use for testing apps, services, brokers, etc is a real one. And likely one many solve also individually.
Begs the question whether it should be offered as a service for all to use. Almost like "CF as a Service" type of service broker... Just thinking out loud here. Cloud capacity and managing resources would be the long running costs after initial investment.
Best,
Max
— Sent from Mailbox <https://www.dropbox.com/mailbox>
On Mon, Oct 5, 2015 at 7:27 PM, Jean-Sebastien Delfino < jsdelfino(a)gmail.com> wrote:
Hi all,
So far in the Abacus project we've been running our automated tests outside CF (as our Node.js apps can also run outside with just a bit of env variable config) on Travis-CI. Some of us also deploy our apps to Bosh lite to test inside CF but maintaining working versions of Bosh lite is pretty time consuming and that manual testing hasn't been a repeatable process so far, so I'd really like to automate that with a proper CI build and test environment.
Are there any CF deployment environments available for CF incubating projects to use for CI builds and tests?
I'm looking for an environment where my build script could simply select a specific version of CF, bootstrap it 'clean' (nothing left over from previous runs), deploy the Abacus apps to it to run the tests there, then repeat with a different version of CF etc.
Is anything like that already available for CF projects to use?
Thanks!
-- Jean-Sebastien
|