From 641b2bb867cbb94d4d4d57b18b8755f22c8f468f Mon Sep 17 00:00:00 2001 From: keaty Date: Tue, 14 Mar 2017 19:47:10 -0400 Subject: [PATCH] Extract Concourse deploy stories; create GCP and Local -specific versions --- concourse.prolific | 57 --------------------------------- concourse_deploy_gcp.prolific | 56 ++++++++++++++++++++++++++++++++ concourse_deploy_local.prolific | 22 +++++++++++++ 3 files changed, 78 insertions(+), 57 deletions(-) create mode 100644 concourse_deploy_gcp.prolific create mode 100644 concourse_deploy_local.prolific diff --git a/concourse.prolific b/concourse.prolific index 0d732ca..3bf5696 100644 --- a/concourse.prolific +++ b/concourse.prolific @@ -1,60 +1,3 @@ -Create your Concourse cloud-config file -### What? - -To deploy Concourse you're going to take advantage of a BOSH feature we didn't use last time around: the **[cloud config](http://bosh.io/docs/cloud-config.html)**. A cloud-config is a YAML file that defines IaaS-specific configuration used by the BOSH Director and all of its deployments. It allows us to separate IaaS specific configuration into its own file and keep deployment manifests IaaS agnostic (this wasn't always the case, btw). - -### How? -You're going to need to define ... - -* **AZs Block:** Specifies the AZs available to deployments. At least one should be specified. - -* **Networks Block:** Each sub-block listed in the Networks block specifies a network configuration that jobs can reference. There are three different network types: manual, dynamic, and vip. At least one should be specified. - -* **VM Types Block:** Specifies the VM types available to deployments. At least one should be specified. - -* **Disk Types Block:** Specifies the disk types available to deployments. At least one should be specified. - -* **Compilation Block:** Properties of compilation VMs. - -Desafortunadamente, there are examples for pretty much every IAAS _except_ GCP in the [bosh.io documentation](http://bosh.io/docs/cloud-config.html), so I'd suggest you use the cloud-config from one of your teams' IRL GCP deployments as a reference (see how I'm tricking you into reading your team's code?). Or [this one](https://github.com/cloudfoundry-incubator/bosh-google-cpi-release/blob/master/docs/concourse/cloud-config.yml), take your pick. - -After you create the `cloud-config.yml` file, don't forget to `bosh update cloud-config some-cloud-config-path.yml` - -### Expected Result -When you run `bosh cloud-config` it should return the yaml you just prepared. - -### Resources -[What's a cloud config?](http://bosh.io/docs/cloud-config.html) - -### Relevant Repos and Teams -**Concourse:** [concourse/concourse](https://github.com/concourse/concourse) -L: concourse ---- -Deploy Concourse to BOSH -### What? -Okay, the training wheels are coming **off**. This Concourse deployment is gonna be just you + the same docs anyone else uses ("whhaaaaaat?" "I know, they grow up so fast!"). But first, a little preamble: - -Concourse is a Pivotal-sponsored, pipeline-based continuous integration (CI) system. The "pipelines" are a collection of [three core concepts (jobs, tasks, and resources)](http://concourse.ci/concepts.html) that you'll learn more about in upcoming stories. While CI may call to mind test automation, Pivotal teams use it for so much more than that. Take a stroll around the office and checkout the jobs up on the CI screens to get a general idea of how broadly we use it to automate all that is automate-able. - -### How? -You already have a BOSH Director, a cloud-config, and at least one stemcell, so all that's left is to prepare your deployment manifest. Follow these **[instructions](http://concourse.ci/clusters-with-bosh.html#deploying-concourse)** to set up and BOSH deploy it. - -**NOTE:** if this ends up being frustrating in a "please, please don't make me do another minute" kind of way, no sweat. Don't waste time on a story you're not getting anything out of, just _Choose Your Own Adventure_ your way out of it by **[spinning up a local VM with Vagrant](http://concourse.ci/vagrant.html)**. Either way, same result --> - -### Expected Result -![Lonely Concourse, no pipelines](http://danoncoding.com/assets/images/concourse-simple-redux/no-pipelines.png) - -### Resources -[Terraform + Google Cloud Platform docs](https://www.terraform.io/docs/providers/google/index.html) - -[Concourse Architecture Overview](https://concourse.ci/architecture.html) -[All About Concourse for Continuous Integration (video)](https://blog.pivotal.io/pivotal-perspectives/features/all-about-concourse-for-continuous-integration) -[BOSH 2.0: The Evolution - YouTube (video)](https://www.youtube.com/watch?v=Q5uvoL1OqSw) - -### Relevant Repos and Teams -**Concourse:** [concourse/concourse](https://github.com/concourse/concourse) -L: concourse ---- Create a pipeline with a single job ### What? Every great Concourse behemoth of the 21st century started in the same place as yours is about to: with an empty `pipeline.yml`. You can kick it off with as little as a single, manually-triggered job. diff --git a/concourse_deploy_gcp.prolific b/concourse_deploy_gcp.prolific new file mode 100644 index 0000000..32bef85 --- /dev/null +++ b/concourse_deploy_gcp.prolific @@ -0,0 +1,56 @@ +Create your Concourse cloud-config file +### What? + +To deploy Concourse you're going to take advantage of a BOSH feature we didn't use last time around: the **[cloud config](http://bosh.io/docs/cloud-config.html)**. A cloud-config is a YAML file that defines IaaS-specific configuration used by the BOSH Director and all of its deployments. It allows us to separate IaaS specific configuration into its own file and keep deployment manifests IaaS agnostic (this wasn't always the case, btw). + +### How? +You're going to need to define ... + +* **AZs Block:** Specifies the AZs available to deployments. At least one should be specified. + +* **Networks Block:** Each sub-block listed in the Networks block specifies a network configuration that jobs can reference. There are three different network types: manual, dynamic, and vip. At least one should be specified. + +* **VM Types Block:** Specifies the VM types available to deployments. At least one should be specified. + +* **Disk Types Block:** Specifies the disk types available to deployments. At least one should be specified. + +* **Compilation Block:** Properties of compilation VMs. + +Desafortunadamente, there are examples for pretty much every IAAS _except_ GCP in the [bosh.io documentation](http://bosh.io/docs/cloud-config.html), so I'd suggest you use the cloud-config from one of your teams' IRL GCP deployments as a reference (see how I'm tricking you into reading your team's code?). Or [this one](https://github.com/cloudfoundry-incubator/bosh-google-cpi-release/blob/master/docs/concourse/cloud-config.yml), take your pick. + +After you create the `cloud-config.yml` file, don't forget to `bosh update cloud-config some-cloud-config-path.yml` + +### Expected Result +When you run `bosh cloud-config` it should return the yaml you just prepared. + +### Resources +[What's a cloud config?](http://bosh.io/docs/cloud-config.html) + +### Relevant Repos and Teams +**Concourse:** [concourse/concourse](https://github.com/concourse/concourse) +L: concourse +--- +Deploy Concourse to BOSH +### What? +Okay, the training wheels are coming **off**. This Concourse deployment is gonna be just you + the same docs anyone else uses ("whhaaaaaat?" "I know, they grow up so fast!"). But first, a little preamble: + +Concourse is a Pivotal-sponsored, pipeline-based continuous integration (CI) system. The "pipelines" are a collection of [three core concepts (jobs, tasks, and resources)](http://concourse.ci/concepts.html) that you'll learn more about in upcoming stories. While CI may call to mind test automation, Pivotal teams use it for so much more than that. Take a stroll around the office and checkout the jobs up on the CI screens to get a general idea of how broadly we use it to automate all that is automate-able. + +### How? +You already have a BOSH Director, a cloud-config, and at least one stemcell, so all that's left is to prepare your deployment manifest. Follow these **[instructions](http://concourse.ci/clusters-with-bosh.html#deploying-concourse)** to set up and BOSH deploy it. + +**NOTE:** if this ends up being frustrating in a "please, please don't make me do another minute" kind of way, no sweat. Don't waste time on a story you're not getting anything out of, just _Choose Your Own Adventure_ your way out of it by **[spinning up a local VM with Vagrant](http://concourse.ci/vagrant.html)**. Either way, same result --> + +### Expected Result +![Lonely Concourse, no pipelines](http://danoncoding.com/assets/images/concourse-simple-redux/no-pipelines.png) + +### Resources +[Terraform + Google Cloud Platform docs](https://www.terraform.io/docs/providers/google/index.html) + +[Concourse Architecture Overview](https://concourse.ci/architecture.html) +[All About Concourse for Continuous Integration (video)](https://blog.pivotal.io/pivotal-perspectives/features/all-about-concourse-for-continuous-integration) +[BOSH 2.0: The Evolution - YouTube (video)](https://www.youtube.com/watch?v=Q5uvoL1OqSw) + +### Relevant Repos and Teams +**Concourse:** [concourse/concourse](https://github.com/concourse/concourse) +L: concourse diff --git a/concourse_deploy_local.prolific b/concourse_deploy_local.prolific new file mode 100644 index 0000000..c371941 --- /dev/null +++ b/concourse_deploy_local.prolific @@ -0,0 +1,22 @@ +Deploy Concourse to BOSH +### What? +Okay, the training wheels are coming **off**. This Concourse deployment is gonna be just you + the same docs anyone else uses ("whhaaaaaat?" "I know, they grow up so fast!"). But first, a little preamble: + +Concourse is a Pivotal-sponsored, pipeline-based continuous integration (CI) system. The "pipelines" are a collection of [three core concepts (jobs, tasks, and resources)](http://concourse.ci/concepts.html) that you'll learn more about in upcoming stories. While CI may call to mind test automation, Pivotal teams use it for so much more than that. Take a stroll around the office and checkout the jobs up on the CI screens to get a general idea of how broadly we use it to automate all that is automate-able. + +### How? +Instead of deploying up a full Concourse, you're gonna _Easy Button_ your way out of it by **[spinning up a local VM with Vagrant](http://concourse.ci/vagrant.html)**. + +### Expected Result +![Lonely Concourse, no pipelines](http://danoncoding.com/assets/images/concourse-simple-redux/no-pipelines.png) + +### Resources +[Terraform + Google Cloud Platform docs](https://www.terraform.io/docs/providers/google/index.html) + +[Concourse Architecture Overview](https://concourse.ci/architecture.html) +[All About Concourse for Continuous Integration (video)](https://blog.pivotal.io/pivotal-perspectives/features/all-about-concourse-for-continuous-integration) +[BOSH 2.0: The Evolution - YouTube (video)](https://www.youtube.com/watch?v=Q5uvoL1OqSw) + +### Relevant Repos and Teams +**Concourse:** [concourse/concourse](https://github.com/concourse/concourse) +L: concourse