Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Running jenkins in a public cloud - common issues and some solutions

92 views

Published on

JAM CPH 18-10-2018
Pre-Day of Jenkins meetup

Published in: Software
  • Be the first to comment

  • Be the first to like this

Running jenkins in a public cloud - common issues and some solutions

  1. 1. Running Jenkins in a public cloud Common issues and some solutions Andrey Devyatkin Jenkins Area Meetup CPH
  2. 2. Andrey Devyatkin ● Long time Jenkins hacker ● CI/CD enthusiast ● Writer of tools ● Fixer of things and projects ● Independent consultant
  3. 3. https://aws.amazon.com/getting-started/projects/setup-jenkins-build-server/
  4. 4. Hold on! We do not want Jenkins open for the whole internet, do we? And how can we access Jenkins from VPN?
  5. 5. Not going to fly because… Unless...
  6. 6. All good but how do we have get GitHub webhooks?
  7. 7. Better? Not really… Multibranch pipeline requires Jenkins URL to match the one that is used for webhook
  8. 8. https://github.com/jenkinsci/github-plugin/blob/master/src/main/java/org/jenkinsci/plugins/github/config/GitHubPluginConfig.java
  9. 9. Good news! There is no way to set hookurl from UI :D
  10. 10. Who needs UI when you have Groovy!
  11. 11. import org.jenkinsci.plugins.github.GitHubPlugin GitHubPlugin.configuration().setOverrideHookUrl(true) url = new URL(‘external jenkins url’) GitHubPlugin.configuration().setHookUrl(url) GitHubPlugin.configuration().save()
  12. 12. ● EC2 with war file ● EC2 with Docker on it ● K8S or any other orchestrator Jenkins master
  13. 13. EC2 with autoscaling Self-re-deploying immutable master in Docker using Jenkins as code EFS mount into every region to save builds and secrets Current best thinkins
  14. 14. You do not have IT department running AD... Auth
  15. 15. ● Docker based ○ External orchestrator (ex Kubernetes plugin, Nomad plugin etc) ○ Jenkins orchestration (ex Docker plugin) ● VM based ○ Packer ○ Jenkins EC2 plugin Slaves
  16. 16. Almost the end
  17. 17. Your Jenkins is always broken problem...
  18. 18. ● Total number of builds per period ● Ratio of failed builds per period ● Ratio of user errors vs infra error per period ● Top 10 issues causing disturbances ● Queue time per period Basic info you need to know
  19. 19. Those are your base metrics! How to continuously produce them?
  20. 20. A small quiz for you
  21. 21. Thanks! andrey9kin@a59.company @andrey9kin

×