Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
GitHub Enterprise and Automation
with Codedeploy...
Howpeople build software!
!
!
What's new in Enterprise
2.9?
Howpeople build software!
!
! 2.4.x series EOL
Howpeople build software!
!
! Enabling developers
Howpeople build software!
!
! Organization-wide projects
Howpeople build software!
!
MEDIA SLIDE(S)
• Org-wide projects
Howpeople build software!
!
!
Resolving merge conflicts
in the UI
Howpeople build software!
!
AFFRAE’S
AWESOME
FEATURE
HELLO, WORLD! HELLO, DOGS!HELLO, DOGS!
HELLO, WORLD! HELLO, CATS!HELL...
Howpeople build software!
!
MEDIA SLIDE(S)
Howpeople build software!
!
! Request a review
Howpeople build software!
!
MEDIA SLIDE(S)
• Request Reviewers
Howpeople build software!
!
!
…and dismiss blocking PR
reviews
Howpeople build software!
!
!
Rebase and merge Pull
Requests
Howpeople build software!
!
MEDIA SLIDE(S)
• Rebase
Howpeople build software!
!
! Search commit messages
Howpeople build software!
!
! Progressively loaded diffs
Howpeople build software!
!
Howpeople build software!
!
• 300 files
• 100KB of diff text per file
• 1MB of diff text total
• 3,000 lines of diff text ...
Howpeople build software!
!
!
Extending the GitHub
platform
1
Howpeople build software!
!
! API updates
2
Howpeople build software!
!
• Org/teams invite API Update
• Preview: PR Reviews API
• Preview: Updates to Organization mem...
Howpeople build software!
!
! New webhooks
2
Howpeople build software!
!
• Labels and Milestones
• User management webhooks
• Collaborators
• Members
• Teams
New Webho...
Howpeople build software!
!
! Enabling administrators
2
Howpeople build software!
!
! Rate limiting and Gitmon
2
Howpeople build software!
!
• Rate limits Off by default (no rate limits in GHE by default)
• Administrators can tune the ...
Howpeople build software!
!
• HTTP and API requests from users and applications
• Pattern-based API rate limits
• ex: @mon...
Howpeople build software!
!
! Load balancer support
2
Howpeople build software!
!
!
Security and authentication
providers
2
Howpeople build software!
!
• TLS for log forwarding
• Turn off LDAP for git operations (only for customers with LDAP
prob...
Howpeople build software!
!
!
Automatic deployments
with GitHub and
CodeDeploy
Howpeople build software!
!
• Static website or a dynamic language web application
• Already have an application set up in...
Howpeople build software!
!
MEDIA SLIDE(S)
Howpeople build software!
!
!
Moving your application
into GitHub
Howpeople build software!
!
MEDIA SLIDE(S)
Download an archive of the deployed application
Howpeople build software!
!
MEDIA SLIDE(S)
Initiate a local git repository and commit the existing files
Howpeople build software!
!
• Create a Repository on GitHub
Moving your application into GitHub
Howpeople build software!
!
MEDIA SLIDE(S)
Howpeople build software!
!
MEDIA SLIDE(S)
Push the code to GitHub
Howpeople build software!
!
!
Deploying application files
from GitHub
Howpeople build software!
!
• Test first!
• Configure CodeDeploy to use GitHub
Moving your application into GitHub
Howpeople build software!
!
MEDIA SLIDE(S)
Howpeople build software!
!
!
Calling AWS CodeDeploy
from GitHub
Howpeople build software!
!
• Create an IAM User
• Add CodeDeploy API Access Policy to the IAM User with bare
minimum perm...
Howpeople build software!
!
MEDIA SLIDE(S)
• Two service hooks
• Hook 1: AWS CodeDeploy service hook that enables GitHub t...
Howpeople build software!
!
• REMEMBER: Copy the Access ID and Secret Keys down and store them in a safe and
secure locati...
Howpeople build software!
!
• Add the CodeDeploy Service to the GitHub Repository
Calling AWS CodeDeploy from GitHub
Howpeople build software!
!
MEDIA SLIDE(S)
• Click on the Settings tab.
• click the Webhooks & Services tab.
• click the A...
Howpeople build software!
!
!
Automatically starting
deployments from GitHub
Howpeople build software!
!
• Create a GitHub personal access token for the Auto-Deployment service to trigger a
repositor...
Howpeople build software!
!
MEDIA SLIDE(S)
• create a GitHub personal access token for the Auto-Deployment service
to trig...
Howpeople build software!
!
• Configure the GitHub Auto-Deployment service hook on GitHub.
Automatically starting deployme...
Howpeople build software!
!
MEDIA SLIDE(S)
• now configure the GitHub Auto-Deployment service hook on GitHub.
• from the h...
Howpeople build software!
!
• Test Time
• Change the background colour
• Change some text
Automatically starting deploymen...
Howpeople build software!
!
MEDIA SLIDE(S)
• test everything working together.
• from the home page of your GitHub reposit...
Howpeople build software!
!
! Now what?
Howpeople build software!
!
• Continuous Integration for building and testing
• Branching
• Pull requests
• Code Review
• ...
Howpeople build software!
!
• GitHub Auto-Deployment Blog
• http://www.atmos.org/github-services/auto-deployment
• CodeDep...
Howpeople build software!
!
!
Prochain SlideShare
Chargement dans…5
×

GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017

1 585 vues

Publié le

GitHub Enterprise and Automation with Codedeploy presented by Daniel Figucio, Director Solutions Engineering, GitHub, ASEAN & ANZ at AWS Summit Singapore 2017.

Publié dans : Technologie
  • Identifiez-vous pour voir les commentaires

GitHub Enterprise and Automation with Codedeploy - AWS Summit SG 2017

  1. 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. GitHub Enterprise and Automation with Codedeploy Daniel Figucio Director Solutions Engineering GitHub, ASEAN and ANZ
  2. 2. Howpeople build software! ! ! What's new in Enterprise 2.9?
  3. 3. Howpeople build software! ! ! 2.4.x series EOL
  4. 4. Howpeople build software! ! ! Enabling developers
  5. 5. Howpeople build software! ! ! Organization-wide projects
  6. 6. Howpeople build software! ! MEDIA SLIDE(S) • Org-wide projects
  7. 7. Howpeople build software! ! ! Resolving merge conflicts in the UI
  8. 8. Howpeople build software! ! 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
  9. 9. Howpeople build software! ! MEDIA SLIDE(S)
  10. 10. Howpeople build software! ! ! Request a review
  11. 11. Howpeople build software! ! MEDIA SLIDE(S) • Request Reviewers
  12. 12. Howpeople build software! ! ! …and dismiss blocking PR reviews
  13. 13. Howpeople build software! ! ! Rebase and merge Pull Requests
  14. 14. Howpeople build software! ! MEDIA SLIDE(S) • Rebase
  15. 15. Howpeople build software! ! ! Search commit messages
  16. 16. Howpeople build software! ! ! Progressively loaded diffs
  17. 17. Howpeople build software! !
  18. 18. Howpeople build software! ! • 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
  19. 19. Howpeople build software! ! ! Extending the GitHub platform 1
  20. 20. Howpeople build software! ! ! API updates 2
  21. 21. Howpeople build software! ! • 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
  22. 22. Howpeople build software! ! ! New webhooks 2
  23. 23. Howpeople build software! ! • Labels and Milestones • User management webhooks • Collaborators • Members • Teams New Webhooks
  24. 24. Howpeople build software! ! ! Enabling administrators 2
  25. 25. Howpeople build software! ! ! Rate limiting and Gitmon 2
  26. 26. Howpeople build software! ! • 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. 27. Howpeople build software! ! • 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 •
  28. 28. Howpeople build software! ! ! Load balancer support 2
  29. 29. Howpeople build software! ! ! Security and authentication providers 2
  30. 30. Howpeople build software! ! • TLS for log forwarding • Turn off LDAP for git operations (only for customers with LDAP problems) • Configurable SAML attributes Security and authentication providers •
  31. 31. Howpeople build software! ! ! Automatic deployments with GitHub and CodeDeploy
  32. 32. Howpeople build software! ! • 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
  33. 33. Howpeople build software! ! MEDIA SLIDE(S)
  34. 34. Howpeople build software! ! ! Moving your application into GitHub
  35. 35. Howpeople build software! ! MEDIA SLIDE(S) Download an archive of the deployed application
  36. 36. Howpeople build software! ! MEDIA SLIDE(S) Initiate a local git repository and commit the existing files
  37. 37. Howpeople build software! ! • Create a Repository on GitHub Moving your application into GitHub
  38. 38. Howpeople build software! ! MEDIA SLIDE(S)
  39. 39. Howpeople build software! ! MEDIA SLIDE(S) Push the code to GitHub
  40. 40. Howpeople build software! ! ! Deploying application files from GitHub
  41. 41. Howpeople build software! ! • Test first! • Configure CodeDeploy to use GitHub Moving your application into GitHub
  42. 42. Howpeople build software! ! MEDIA SLIDE(S)
  43. 43. Howpeople build software! ! ! Calling AWS CodeDeploy from GitHub
  44. 44. Howpeople build software! ! • 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. 45. Howpeople build software! ! 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. 46. Howpeople build software! ! • 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. 47. Howpeople build software! ! • Add the CodeDeploy Service to the GitHub Repository Calling AWS CodeDeploy from GitHub
  48. 48. Howpeople build software! ! 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)
  49. 49. Howpeople build software! ! ! Automatically starting deployments from GitHub
  50. 50. Howpeople build software! ! • Create a GitHub personal access token for the Auto-Deployment service to trigger a repository deployment Automatically starting deployments from GitHub
  51. 51. Howpeople build software! ! 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. 52. Howpeople build software! ! • Configure the GitHub Auto-Deployment service hook on GitHub. Automatically starting deployments from GitHub
  53. 53. Howpeople build software! ! 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. 54. Howpeople build software! ! • Test Time • Change the background colour • Change some text Automatically starting deployments from GitHub
  55. 55. Howpeople build software! ! 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.
  56. 56. Howpeople build software! ! ! Now what?
  57. 57. Howpeople build software! ! • 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. 58. Howpeople build software! ! • GitHub Auto-Deployment Blog • http://www.atmos.org/github-services/auto-deployment • CodeDeploy Developer Resources • http://aws.amazon.com/codedeploy/developer-resources Now what?
  59. 59. Howpeople build software! ! !

×