SlideShare a Scribd company logo
1 of 59
Enterprise 2.9 Overview and Automating
Deployment with CodeDeploy!
@affrae
April 5, 2017
What's new in
Enterprise 2.9?
2.4.x series EOL
Enabling developers
Organization-wide
projects
MEDIA SLIDE(S)
• Org-wide projects
Resolving merge
conflicts in the UI
AFFRAE’S
AWESOME
FEATURE
HELLO, WORLD! HELLO, DOGS!HELLO, DOGS!
HELLO, WORLD! HELLO, CATS!HELLO, CATS!
HELLO, MICE!
This can happen to anyone
MASTER
MERGE
CONFLICT
MEDIA SLIDE(S)
Request a review
MEDIA SLIDE(S)
• Request Reviewers
…and dismiss blocking
PR reviews
Rebase and merge Pull
Requests
MEDIA SLIDE(S)
• Rebase
Search commit
messages
Progressively loaded
diffs
• 300 files
• 100KB of diff text per file
• 1MB of diff text total
• 3,000 lines of diff text per file.
• 20,000 lines of diff text
overall.
More files, more lines, more awesome
• 3,000 files
• 60,000,000 lines
• 3GB of diff text
• All files loaded progressively
Extending the GitHub
platform
2
API updates
2
• Org/teams invite API Update
• Preview: PR Reviews API
• Preview: Updates to Organization membership
• Preview: Oauth authorizations grant API
• Preview: Update to Projects API to include org-wide projects
• Preview: Commit search API
• Audit outside collaborators for 2FA usage
• Traffic API is out of preview!
New API endpoints
2
New webhooks
2
• Labels and Milestones
• User management webhooks
• Collaborators
• Members
• Teams
New Webhooks
Enabling
administrators
2
Rate limiting and Gitmon
2
• Rate limits Off by default (no rate limits in GHE by default)
• Administrators can tune the numbers
• Enterprise support can help!
• Gitmon on by default for analytics but not limiting
Rate Limiting and Gitmon
2
• HTTP and API requests from users and applications
• Pattern-based API rate limits
• ex: @monalisa asks for an issue’s comments 30 times per second
• Search rate limit
• Abuse rate limits for spammy behavior
What we can throttle •
Load balancer support
2
Security and
authentication providers
3
• TLS for log forwarding
• Turn off LDAP for git operations (only for customers with LDAP
problems)
• Configurable SAML attributes
Security and authentication providers •
Automatic deployments
with GitHub and
CodeDeploy
• Static website or a dynamic language web application
• Already have an application set up in CodeDeploy that’s
successfully deploying to a set of EC2 instances, with code stored
in an S3 bucket.
Assumptions
MEDIA SLIDE(S)
Moving your application
into GitHub
MEDIA SLIDE(S)
Download an archive of the deployed application
MEDIA SLIDE(S)
Initiate a local git repository and commit the existing files
• Create a Repository on GitHub
Moving your application into GitHub
MEDIA SLIDE(S)
MEDIA SLIDE(S)
Push the code to GitHub
Deploying application
files from GitHub
• Test first!
• Configure CodeDeploy to use GitHub
Moving your application into GitHub
MEDIA SLIDE(S)
Calling AWS
CodeDeploy from GitHub
• Create an IAM User
• Add CodeDeploy API Access Policy to the IAM User with bare
minimum permissions to use the CodeDeploy API
Calling AWS CodeDeploy from GitHub
MEDIA SLIDE(S)
• Two service hooks
• Hook 1: AWS CodeDeploy service hook that enables GitHub to call the
CodeDeploy API
• Create an IAM user with limited permissions
• Go to the IAM Users page in the AWS Management Console.
• Click Create New Users.
• Enter “GitHub” for the user name in the first row.
• Make sure that the option to generate an access key is checked
• Click Create.
• On the next page, click Show User Security Credentials to show the Access
Key ID and Secret Access Key
• REMEMBER: Copy the Access ID and Secret Keys down and store them in a
safe and secure location – it is your last opportunity to download the Secret Key.
Calling AWS CodeDeploy from GitHub
• Add the CodeDeploy Service to the GitHub Repository
Calling AWS CodeDeploy from GitHub
MEDIA SLIDE(S)
• Click on the Settings tab.
• click the Webhooks & Services tab.
• click the Add Service drop-down, select AWS CodeDeploy.
• on the service hook page, enter the information needed to call CodeDeploy,
including the target AWS region, application name, target deployment group,
and the access key ID and secret access key from the IAM user created earlier.
• after entering this information, click Add Service.
• Hook 2: Automatic deployment hook (see below)
Automatically starting
deployments from GitHub
• Create a GitHub personal access token for the Auto-Deployment service to
trigger a repository deployment
Automatically starting deployments from GitHub
MEDIA SLIDE(S)
• create a GitHub personal access token for the Auto-Deployment
service to trigger a repository deployment.
• go to the Applications tab in the Personal Settings page for your GitHub
account.
• in the Personal Access Tokens section, click Generate New Token.
• enter “AutoDeploy” for the Token Description, uncheck all of the scope
boxes, and check only the repo_deployment scope.
• click Generate token.
• on the next page, copy the newly generated personal access token from
the list, and store it in a safe place with the AWS access keys from
before - won’t be able to access this token again.
• Configure the GitHub Auto-Deployment service hook on GitHub.
Automatically starting deployments from GitHub
MEDIA SLIDE(S)
• now configure the GitHub Auto-Deployment service hook on
GitHub.
• from the home page for your GitHub repository, click on the Settings
tab.
• on the Settings page, click the Webhooks & Services tab.
• services section, click the Add Service drop-down, and select GitHub
Auto-Deployment.
• on the service hook page, enter the information needed to call GitHub,
including the personal access token and target deployment group for
CodeDeploy.
• After entering this information, click Add Service.
• Test Time
• Change the background colour
• Change some text
Automatically starting deployments from GitHub
MEDIA SLIDE(S)
• test everything working together.
• from the home page of your GitHub repository, click the index.html in
the file list.
• on the file view page, click the pencil button on the toolbar above the file
content to switch into edit mode.
• change the web page content any way you like, such as by adding new
text.
• click Commit changes. If prior configuration is set up correctly, a new
deployment should be started immediately.
Now what?
• Continuous Integration for building and testing
• Branching
• Pull requests
• Code Review
• Protected Branches
• Publish your application as Open Source!
• Collaborate with others.
• And much more…
Now what?
• GitHub Auto-Deployment Blog
• http://www.atmos.org/github-services/auto-deployment
• CodeDeploy Developer Resources
• http://aws.amazon.com/codedeploy/developer-resources
Now what?
Thank you!

More Related Content

What's hot

What's hot (20)

AWS re:Invent 2016: 6 Million New Registrations in 30 Days: How the Chick-fil...
AWS re:Invent 2016: 6 Million New Registrations in 30 Days: How the Chick-fil...AWS re:Invent 2016: 6 Million New Registrations in 30 Days: How the Chick-fil...
AWS re:Invent 2016: 6 Million New Registrations in 30 Days: How the Chick-fil...
 
Automated DevOps Workflows with Chef on AWS
Automated DevOps Workflows with Chef on AWSAutomated DevOps Workflows with Chef on AWS
Automated DevOps Workflows with Chef on AWS
 
Systems Operations for Windows Workloads
Systems Operations for Windows WorkloadsSystems Operations for Windows Workloads
Systems Operations for Windows Workloads
 
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
DevOps on AWS: Accelerating Software Delivery with AWS Developer Tools | AWS ...
 
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
 
AWS re:Invent 2016: Amazon CloudWatch Logs and AWS Lambda: A Match Made in He...
AWS re:Invent 2016: Amazon CloudWatch Logs and AWS Lambda: A Match Made in He...AWS re:Invent 2016: Amazon CloudWatch Logs and AWS Lambda: A Match Made in He...
AWS re:Invent 2016: Amazon CloudWatch Logs and AWS Lambda: A Match Made in He...
 
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...
Introduction to AWS CodeStar: Quickly develop, build, and deploy applications...
 
Automate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeployAutomate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeploy
 
Serverless use cases with AWS Lambda - More Serverless Event
Serverless use cases with AWS Lambda - More Serverless EventServerless use cases with AWS Lambda - More Serverless Event
Serverless use cases with AWS Lambda - More Serverless Event
 
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
 
(DVO313) Building Next-Generation Applications with Amazon ECS
(DVO313) Building Next-Generation Applications with Amazon ECS(DVO313) Building Next-Generation Applications with Amazon ECS
(DVO313) Building Next-Generation Applications with Amazon ECS
 
Achieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef AutomateAchieve Scale & Velocity with AWS OpsWorks for Chef Automate
Achieve Scale & Velocity with AWS OpsWorks for Chef Automate
 
From Monolith to Microservices
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
 
Join Us to Explore DevOps on AWS with REAN Cloud
Join Us to Explore DevOps on AWS with REAN CloudJoin Us to Explore DevOps on AWS with REAN Cloud
Join Us to Explore DevOps on AWS with REAN Cloud
 
GitHub's Latest: Automation and More
GitHub's Latest: Automation and MoreGitHub's Latest: Automation and More
GitHub's Latest: Automation and More
 
Leveraging elastic web scale computing with AWS
 Leveraging elastic web scale computing with AWS Leveraging elastic web scale computing with AWS
Leveraging elastic web scale computing with AWS
 
Running your Windows Enterprise Workloads on AWS - Technical 201
Running your Windows Enterprise Workloads on AWS - Technical 201Running your Windows Enterprise Workloads on AWS - Technical 201
Running your Windows Enterprise Workloads on AWS - Technical 201
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software Delivery
 
Migrating Microsoft Applications to AWS like an Expert
Migrating Microsoft Applications to AWS like an ExpertMigrating Microsoft Applications to AWS like an Expert
Migrating Microsoft Applications to AWS like an Expert
 
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
(DVO202) DevOps at Amazon: A Look At Our Tools & Processes
 

Similar to Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHub

How We Learned To Stop Worrying And Love (or at least live with) GitHub
How We Learned To Stop Worrying And Love (or at least live with) GitHubHow We Learned To Stop Worrying And Love (or at least live with) GitHub
How We Learned To Stop Worrying And Love (or at least live with) GitHub
dreamwidth
 

Similar to Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHub (20)

Automating Deployment with Github and CodeDeploy
Automating Deployment with Github and CodeDeployAutomating Deployment with Github and CodeDeploy
Automating Deployment with Github and CodeDeploy
 
GitHub Enterprise 及運用 Codedeploy 實現自動化
GitHub Enterprise 及運用 Codedeploy 實現自動化GitHub Enterprise 及運用 Codedeploy 實現自動化
GitHub Enterprise 及運用 Codedeploy 實現自動化
 
GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017
GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017
GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017
 
AWS Summit Singapore - GitHub to Lambda: Developing, Testing and Deploying Se...
AWS Summit Singapore - GitHub to Lambda: Developing, Testing and Deploying Se...AWS Summit Singapore - GitHub to Lambda: Developing, Testing and Deploying Se...
AWS Summit Singapore - GitHub to Lambda: Developing, Testing and Deploying Se...
 
Getting started with titanium
Getting started with titaniumGetting started with titanium
Getting started with titanium
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 
Continuous Deployment with Amazon Web Services
Continuous Deployment with Amazon Web ServicesContinuous Deployment with Amazon Web Services
Continuous Deployment with Amazon Web Services
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
 
Collision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD PipelinesCollision 2018: CodeStar for CICD Pipelines
Collision 2018: CodeStar for CICD Pipelines
 
Bitbucket git-bamboo-jira
Bitbucket git-bamboo-jiraBitbucket git-bamboo-jira
Bitbucket git-bamboo-jira
 
Untangling - fall2017 - week 9
Untangling - fall2017 - week 9Untangling - fall2017 - week 9
Untangling - fall2017 - week 9
 
Up and Running with Amazon Linux WorkSpaces (BAP207-R1) - AWS re:Invent 2018
Up and Running with Amazon Linux WorkSpaces (BAP207-R1) - AWS re:Invent 2018Up and Running with Amazon Linux WorkSpaces (BAP207-R1) - AWS re:Invent 2018
Up and Running with Amazon Linux WorkSpaces (BAP207-R1) - AWS re:Invent 2018
 
GitHub for partners
GitHub for partnersGitHub for partners
GitHub for partners
 
Azure DevOps Tasks.pptx
 Azure DevOps Tasks.pptx Azure DevOps Tasks.pptx
Azure DevOps Tasks.pptx
 
OSB15
OSB15OSB15
OSB15
 
AWS Atlanta meetup Build Tools - Code Commit, Code Build, Code Deploy
AWS Atlanta meetup Build Tools - Code Commit, Code Build, Code DeployAWS Atlanta meetup Build Tools - Code Commit, Code Build, Code Deploy
AWS Atlanta meetup Build Tools - Code Commit, Code Build, Code Deploy
 
How We Learned To Stop Worrying And Love (or at least live with) GitHub
How We Learned To Stop Worrying And Love (or at least live with) GitHubHow We Learned To Stop Worrying And Love (or at least live with) GitHub
How We Learned To Stop Worrying And Love (or at least live with) GitHub
 
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
AWS Greengrass, Containers, and Your Dev Process for Edge Apps (GPSWS404) - A...
 
Sitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixSitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helix
 
Intro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStarIntro to AWS Developer Tools, featuring AWS CodeStar
Intro to AWS Developer Tools, featuring AWS CodeStar
 

More from Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Effective Collaboration & Delivery with GitHub and AWS Code Deploy – GitHub

  • 1. Enterprise 2.9 Overview and Automating Deployment with CodeDeploy! @affrae April 5, 2017
  • 8. AFFRAE’S AWESOME FEATURE HELLO, WORLD! HELLO, DOGS!HELLO, DOGS! HELLO, WORLD! HELLO, CATS!HELLO, CATS! HELLO, MICE! This can happen to anyone MASTER MERGE CONFLICT
  • 13. Rebase and merge Pull Requests
  • 17.
  • 18. • 300 files • 100KB of diff text per file • 1MB of diff text total • 3,000 lines of diff text per file. • 20,000 lines of diff text overall. More files, more lines, more awesome • 3,000 files • 60,000,000 lines • 3GB of diff text • All files loaded progressively
  • 21. • Org/teams invite API Update • Preview: PR Reviews API • Preview: Updates to Organization membership • Preview: Oauth authorizations grant API • Preview: Update to Projects API to include org-wide projects • Preview: Commit search API • Audit outside collaborators for 2FA usage • Traffic API is out of preview! New API endpoints 2
  • 23. • Labels and Milestones • User management webhooks • Collaborators • Members • Teams New Webhooks
  • 25. Rate limiting and Gitmon 2
  • 26. • Rate limits Off by default (no rate limits in GHE by default) • Administrators can tune the numbers • Enterprise support can help! • Gitmon on by default for analytics but not limiting Rate Limiting and Gitmon 2
  • 27. • HTTP and API requests from users and applications • Pattern-based API rate limits • ex: @monalisa asks for an issue’s comments 30 times per second • Search rate limit • Abuse rate limits for spammy behavior What we can throttle •
  • 30. • TLS for log forwarding • Turn off LDAP for git operations (only for customers with LDAP problems) • Configurable SAML attributes Security and authentication providers •
  • 32. • Static website or a dynamic language web application • Already have an application set up in CodeDeploy that’s successfully deploying to a set of EC2 instances, with code stored in an S3 bucket. Assumptions
  • 35. MEDIA SLIDE(S) Download an archive of the deployed application
  • 36. MEDIA SLIDE(S) Initiate a local git repository and commit the existing files
  • 37. • Create a Repository on GitHub Moving your application into GitHub
  • 39. MEDIA SLIDE(S) Push the code to GitHub
  • 41. • Test first! • Configure CodeDeploy to use GitHub Moving your application into GitHub
  • 44. • Create an IAM User • Add CodeDeploy API Access Policy to the IAM User with bare minimum permissions to use the CodeDeploy API Calling AWS CodeDeploy from GitHub
  • 45. MEDIA SLIDE(S) • Two service hooks • Hook 1: AWS CodeDeploy service hook that enables GitHub to call the CodeDeploy API • Create an IAM user with limited permissions • Go to the IAM Users page in the AWS Management Console. • Click Create New Users. • Enter “GitHub” for the user name in the first row. • Make sure that the option to generate an access key is checked • Click Create. • On the next page, click Show User Security Credentials to show the Access Key ID and Secret Access Key
  • 46. • REMEMBER: Copy the Access ID and Secret Keys down and store them in a safe and secure location – it is your last opportunity to download the Secret Key. Calling AWS CodeDeploy from GitHub
  • 47. • Add the CodeDeploy Service to the GitHub Repository Calling AWS CodeDeploy from GitHub
  • 48. MEDIA SLIDE(S) • Click on the Settings tab. • click the Webhooks & Services tab. • click the Add Service drop-down, select AWS CodeDeploy. • on the service hook page, enter the information needed to call CodeDeploy, including the target AWS region, application name, target deployment group, and the access key ID and secret access key from the IAM user created earlier. • after entering this information, click Add Service. • Hook 2: Automatic deployment hook (see below)
  • 50. • Create a GitHub personal access token for the Auto-Deployment service to trigger a repository deployment Automatically starting deployments from GitHub
  • 51. MEDIA SLIDE(S) • create a GitHub personal access token for the Auto-Deployment service to trigger a repository deployment. • go to the Applications tab in the Personal Settings page for your GitHub account. • in the Personal Access Tokens section, click Generate New Token. • enter “AutoDeploy” for the Token Description, uncheck all of the scope boxes, and check only the repo_deployment scope. • click Generate token. • on the next page, copy the newly generated personal access token from the list, and store it in a safe place with the AWS access keys from before - won’t be able to access this token again.
  • 52. • Configure the GitHub Auto-Deployment service hook on GitHub. Automatically starting deployments from GitHub
  • 53. MEDIA SLIDE(S) • now configure the GitHub Auto-Deployment service hook on GitHub. • from the home page for your GitHub repository, click on the Settings tab. • on the Settings page, click the Webhooks & Services tab. • services section, click the Add Service drop-down, and select GitHub Auto-Deployment. • on the service hook page, enter the information needed to call GitHub, including the personal access token and target deployment group for CodeDeploy. • After entering this information, click Add Service.
  • 54. • Test Time • Change the background colour • Change some text Automatically starting deployments from GitHub
  • 55. MEDIA SLIDE(S) • test everything working together. • from the home page of your GitHub repository, click the index.html in the file list. • on the file view page, click the pencil button on the toolbar above the file content to switch into edit mode. • change the web page content any way you like, such as by adding new text. • click Commit changes. If prior configuration is set up correctly, a new deployment should be started immediately.
  • 57. • Continuous Integration for building and testing • Branching • Pull requests • Code Review • Protected Branches • Publish your application as Open Source! • Collaborate with others. • And much more… Now what?
  • 58. • GitHub Auto-Deployment Blog • http://www.atmos.org/github-services/auto-deployment • CodeDeploy Developer Resources • http://aws.amazon.com/codedeploy/developer-resources Now what?