Contenu connexe Similaire à How to Build a CICD Pipeline with AWS CodeStar (20) Plus de Amazon Web Services (20) How to Build a CICD Pipeline with AWS CodeStar1. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
Gabe Hollombe
Technical Evangelist, AWS
2018-07-10
How to build a Secure & Scalable
CI/CD pipeline with AWS CodeStar
@gabehollombe
2. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
Agenda
What is DevOps & AWS enabled DevOps
Introducing AWS CodeStar
AWS CodeStar and AWS Code Services details
Project Setup and CI/CD demos
Summary
3. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
What is DevOps?
Union of software development and operations
Migration of Agile continuous development into continuous integration
and continuous delivery
DevOps Model
• No Silos – Puts emphasis on communication, collaboration, and cohesion
between disciplines
• Best practices for change, configuration, and deployment automation
• Deliver apps/services at faster pace
• High speed product updates
Delivery Pipeline
Feedback LoopCO M P A N Y CUSTOMERS
4. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
• Integration
tests with
other systems
• Load testing
• UI tests
• Penetration
testing
DevOps Release Processes: Four major phases
Source Build Test Production
• Check-in
source code
such as .java
files.
• Peer review
new code
• Compile code
• Unit tests
• Style checkers
• Code metrics
• Create
container
images
• Deployment
to production
environments
5. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
Continuous Integration (CI) is…
DevOps software development practice
Refers to Build or Integration stage of the software release process
Key Activities
ü Code changes merged into a central repository
ü Automated builds and tests are run
Goals
ü Find and address bugs quickly
ü Improve software quality
ü Reduce time to release new software updates
6. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
Continuous Delivery (CD) is…
DevOps software development practice that refers to Deployment
stage of the software release process
Key Ac'vi'es
ü Deployment of all code changes to a testing and/or a production
environment
ü Approval of updates to production from test stages
Goals
ü Verify application updates across multiple dimensions before
deployment
ü Automate entire software release process
ü Pre-emptively discover deployment issues
7. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
DevOps Release processes: Levels
Source Build Test Production
Continuous integration
Continuous delivery
Continuous deployment
8. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
AWS CodeStar – Implement AWS DevOps
Source Build Test Production
Third Party
Tooling
Software Development and Continuous Integration & Delivery Workflow
AWS CodeCommit AWS CodeBuild AWS CodeDeploy
AWS CodePipeline
AWS CodeStar
9. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
AWS CodeStar
Develop on AWS in minutes: Easily set up your entire development
environment and programming tools for coding, building, testing, and
deploying on AWS
Collaborate securely with your entire: Manage team access, add
team members to projects by role i.e. owners, contributors
Integrated issue tracking and project management: Integrates
Atlassian JIRA Software to easily manage issues directly from
CodeStar dashboard and monitor application progress and activity
Supported for popular programming languages: Develop variety of
applications using language of choice including Java, JavaScript,
PHP, Ruby, and Python.
Release code faster: Set up your entire continuous delivery
toolchain in minutes
10. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
Easy set-up & deployment
Preconfigured AWS CloudFormation templates for quick development
project creation
• Automatic provisioning of underlying AWS services for quick app
coding and deployment
Over twenty different AWS CodeStar project templates
Support for websites, web services, microservices, Alexa Skills dev
projects (and more)
3 Hosting environments
§ Self-Managed: Amazon EC2 with AWS CodeDeploy
§ Managed: Elastic Beanstalk
§ Serverless: AWS Lambda
11. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
Project Templates
Programming Languages
C#
Go
Java
JavaScript
Python
Ruby
PHP
CodeStar project templates support popular
programming languages and IDEs
IDE/Code Editors
Cloud9
Visual Studio
Eclipse
AWS CLI
AWS CLI
13. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
Project Dashboard
Coordinate your day-to-day development activities
Dashboard provides tools to view real time application activity,
monitor builds, and flow of code through deployment pipeline
Customize project dashboard by adding, removing, moving tiles
Add customizable team wiki tile for team resources sharing or
other purposes ex. show code snippets
Use CodeStar project extensions to add tiles and functionality
dashboard
14. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
Working with Teams
Project Roles
ü Owner: Ability to add & remove team members,
contribute code to project repo, grant or deny team
members remote access
ü Contributor: Ability to add & remove dashboard
resources, contribute code to the project repository
ü Viewer: Ability to view the project dashboard, code,
tiles, and project state
Project team members (users)
ü Can have different CodeStar roles and permissions
ü Can belong to multiple CodeStar projects
15. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
AWS CodeCommit
16. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
AWS CodeBuild
17. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
Third Party
Tooling
18. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
AWS CodeDeploy
Or
AWS Elastic BeanStalk
Or
AWS Lambda
19. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
EC2 On-Prem
AWS CodeDeploy
20. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
AWS CodeStar – AWS Code Services
Source Build Test Production
Software Release Steps:
EC2
AWS Elastic Beanstalk
Route 53
22. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
Integrated Issue Tracking
Integrates with Atlassian JIRA So.ware – issue tracking and
project management tool
Easy JIRA and AWS CodeStar setup
ü Log into JIRA and Copy URL from any project
ü Enter JIRA URL field in the CodeStar Extensions
Monitor application activity and manage all JIRA issues in
CodeStar dashboard
Create new JIRA tickets for work items directly dashboard
24. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
Reliability
AWS CodeStar – Easily Gain Benefits of DevOps
SpeedScale
Rapid DeliveryImproved Collaboration
Security
25. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
Summary:
Learn more:
https://aws.amazon.com/codestar
Check out Blog Post: Introducing AWS CodeStar:
https://aws.amazon.com/blogs/aws/new-aws-codestar/
Get started with AWS CodeStar:
https://console.aws.amazon.com/codestar
26. ©2018, AmazonWebServices, Inc. or its Affiliates. All rights reserved.
Thank you!
❤
Gabe Hollombe
Technical Evangelist, AWS
@gabehollombe
Let’s keep in touch.