Upload
vlad-salagean
View
433
Download
0
Embed Size (px)
Citation preview
Vlad Salagean• Father of 2 boys• Software Development Manager,
Ex Simpology, 1&1• Agile supporter• Frontend developer
http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
Objective
Pipeline
Setup
Bamboo workflow
Bamboo jobs
Our ExampleProject Plan Stage Job Task
MVCWebApplication Development Master Build Application Source Code CheckoutMSBuild
Deploy Application on Dev Artifact DownloadAWS CodeDeploy
Production Release Build Application Source Code CheckoutMSBuild
Deploy Application on Dev Artifact DownloadAWS CodeDeploy
Deploy Application on Prod Artifact DownloadAWS CodeDeploy
Prerequisites - AccountsAccounti Type Our accounts Comments
Bitbucket mandatory https://bitbucket.org/oceanusro
Bamboo mandatory https://oceanus.atlassian.net/builds
AWS mandatory https://console.aws.amazon.com/
Jira optional https://oceanus.atlassian.net/
Slack optional https://oceanusro.slack.com/
Zapier optional https://zapier.com/
Setup Application• Install Visual Studio Professional 2013• Install Git Source Control Provider and Git Extensions• Create MVC dummy project with Visual Studio• Create Git repository in Bitbucket• Setup .gitignore & gitconfig• Add MVC dummy project to the Bitbucket Git repository
Setup Bitbucket• Create Master and Release branches• All work is done in Master• Merge Master to Release via Pull request
Setup AWS • Bamboo (how to)
• create an IAM user for Bamboo• attach policy permission for user (what to)• create custom AMI• create image to use in Bamboo
• CodeDeploy (how to)• create an IAM user for CodeDeploy• create an IAM instance profile• create a service role• configure an EC2 deploy instance• configure an Application• configure an Deployment group
Setup Bamboo• Create custom Amazon AMI• Configure Bamboo Jobs• Create a build with Bamboo• Setup an EC2 instance with CodeDeploy agent• Deploy application to AWS
Find outs• Bamboo does not offer support out of the box for .NET 4.5 applications,
needs to build a custom AMI• Install same software stack on Bamboo AMI as on local development PC• Bamboo IAM user needs a rights policy attached (ex:
AmazonEC2FullAccess)• Bamboo CodeDeploy does not work with Java 1.8 (use 1.7)• For testing purposes use regions in same continent with you (reduces
RDP latencies, ex: Ireland for CodeDeploy and Frankfurt for Bamboo)• There is no Bamboo Cloud plugin available for Beanstalk (try eb cli)
Disclaimer• MVCWebApplication is a simple MVC application with no database or
other services• Application has been deployed via CodeDeploy on EC2 deployment
groups with no auto scaling.• Environments configuration:
• Development: 2 EC2 instances, 1 lb• Production: 3 EC2 instances, 1 lb
Software configuration• PC configuration used:• Windows 10 Pro• Visual Studio Professional 2013, version: 12.0.31101.00 Update 4• Microsoft .NET Framework, version 4.6.00079
• AWS Free Tier Account• Bamboo Cloud Evaluation Trial• Bitbucket Cloud Evaluation Trial• Jira Cloud Evaluation Trial
Thank you!Questions?
twitter.com/vlad_salageanro.linkedin.com/in/vladsalagean