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.

Jenkins-CI

273 views

Published on

- Jenkins-CI Introduction
- Sponia in Action with Jenkins-CI
- Some other topics

  • Be the first to comment

Jenkins-CI

  1. 1. Jenkins-CI @dylanninin
  2. 2. What is Software Deployment ?
  3. 3. Software Development Life Cycle
  4. 4. How to Deployment Software?
  5. 5. A Minimum Python Web Application Deployment
  6. 6. Deployment of An Application • cli: scp, ssh, … • scripts: shell scripts, Fabric, Ansible… • CI: Jenkins-CI, Travis-CI… • DIY: …
  7. 7. How much time you have spent … openplay_backend deployment
  8. 8. How much time you have spent … openplay_frontend deployment
  9. 9. How much time you have spent … ycq iOS build
  10. 10. Then if it’s in the real world?
  11. 11. How much time should you spend ?
  12. 12. Jenkins-CI
  13. 13. Jenkins is an award-winning, cross-platform, continuous integration and continuous delivery application that increases your productivity. Use Jenkins to build and test your software projects continuously making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build. It also allows you to continuously deliver your software by providing powerful ways to define your build pipelines and integrating with a large number of testing and deployment technologies. Jenkins-CI
  14. 14. Jenkins-CI in Action
  15. 15. Live Demo
  16. 16. https://jenkins.sponia.com/
  17. 17. • Build immediately when push commits Goals • Build each branch when necessarily • branches: test/staging/product • jobs: naming convention • github Webhooks/services
  18. 18. Jenkins-CI
  19. 19. Github Webhooks Github / Repository / Settings / Webhooks & services
  20. 20. Github Webhooks
  21. 21. Github Webhooks
  22. 22. Jenkins-CI API • Jenkins-CI API e.g.: https://jenkins.sponia.com/job/bacchus_demo/build Path: Jenkins-CI / Job / REST API
  23. 23. Jenkins-CI API • Curl Example
  24. 24. Ruby API • Ruby API e.g.: GitHub WebHook.rb Sinatra API CURL
  25. 25. Jenkins Job Configure
  26. 26. Jenkins Job Configure
  27. 27. Jenkins Job Configure
  28. 28. Jenkins Job Configure
  29. 29. Recap Deploy with Jenkins-CI
  30. 30. Manage Jenkins-CI • Configure System • Configure Global Security • Manage Plugins • System Informations • System Log • Load Statistics • Jenkins CLI • Script Console • Manage Node • Manage Credentials • Manage Old Data • Manage Users • Monitoring • Prepare for Shutdown Path: Jenkins-CI / Manage
  31. 31. Data of Jenkins-CI Path: Jenkins-CI / Configure
  32. 32. The Requirements Beyond Jenkins-CI
  33. 33. Standardisation The Twelve Factors • Codebase • Dependencies • Config • Backing services • Build, release, run • Processes • Port binding • Concurrency • Disposability • Dev/prod parity • Logs • Admin processes
  34. 34. Workflow Systems Workflow
  35. 35. Monitoring Aware of Your Application • Console • Utilities • Services
  36. 36. Availability Max Availability • Max Mean Time between Failures • Min Mean Time to Recover • >= 99.9%
  37. 37. Q & A
  38. 38. Reference • https://jenkins.io/ • http://12factor.net/ • https://hub.docker.com/_/jenkins/ • https://developer.github.com/webhooks/securing/

×