As a Developer
I need to deploy services to IBM Cloud automatically
So that I can quickly and safety deploy new changes and improvements to production without breaking production code
Assumptions:
*Inventory has micro-services created
GitHub and DevOps Pipeline exist
Acceptance Criteria:
Scenario: Connect GitHub to Webhook
Given I have a GitHub repository and my DevOps Pipeline
When I connect DevOps pipeline to the GitHub repository for Inventory via a webhook
Then I should see my pipeline with 4 stages: Build, Dev, Test, Prod
Scenario: Add Tests to different stages of pipeline
Given I have 4 stages in my pipeline
When I Add a Unit Test Job to the Build Stage of the pipeline to run your units tests with nosetests
And I Add a Dev Deployment Stage to the pipeline to deploy to your Dev space if the unit tests pass
And Add a Integration Test Stage to the pipeline to run your integration tests with behave against the Dev deployment
Then I should see these tests in my DevOps pipeline
Scenario: Create a new Space in your Cloud Foundry account called: prod
Given I have added my tests in the Unit, Dev, and Integration Stage
When I Create a new Space in your Cloud Foundry account called: prod
Then I should see Prod in Foundry
Scenario: Deploy Service to Cloud
Given I Setup the DevOps Continuous Delivery Pipeline in IBM Cloud to buil
When I deploy project to master branch
Then I should see my Dev
Scenario: Run TDD Tests
Given TDD integration tests for Inventory setup
When I deploy services to IBM Cloud
Then Build stage should run TDD (unit tests)
And call the deploy stage to deploy to a development instance
Scenario: Run BDD Tests
Given BDD integration tests for Inventory setup
When I deploy services to IBM Cloud
Then Build stage should run BDD (unit tests) against development instance
And Add a Production Deploy Stage to the pipeline to deploy to the production space if all of the integration tests pass
As a Developer I need to deploy services to IBM Cloud automatically So that I can quickly and safety deploy new changes and improvements to production without breaking production code
Assumptions: *Inventory has micro-services created
Acceptance Criteria: