From Jenkins to Azure DevOps pipelines

Fafc5db5773c5e7faecbf6621f6ddfbe?s=47 Jo Somers
December 18, 2019

From Jenkins to Azure DevOps pipelines

This presentation is about the key takeaways and things we already tried at Rombit regarding Azure DevOps.

Gie Spaepen: @spaepeng
Jo Somers: @josomers

Fafc5db5773c5e7faecbf6621f6ddfbe?s=128

Jo Somers

December 18, 2019
Tweet

Transcript

  1. 18 DECEMBER 2019 Azure Devops Pipelines Gie Spaepen / Jo

    Somers
  2. None
  3. None
  4. WE’RE HIRING! rombit.be/jobs

  5. Agenda 1. DevOps history 2. Jenkins Jungle 3. Targets 4.

    Azure DevOps 5. Demo time 6. Questions? 2 DECEMBER 2019
  6. The small Rombit DevOps history 1 18 DECEMBER 2019

  7. The small Rombit DevOps history ▪ Rombit was a PHP-centric

    company. ▪ CI = Wercker ▪ CD: also Wercker but also manually using Capistrano ▪ Various flavours depending on the project and developer. 18/12/2019 … in the beginning
  8. ▪ Infrastructure standardization Digital Ocean and AWS EC2. ▪ CI

    + CD: enter Jenkins. ▪ Organic adoption of multibranch pipelines. ▪ Building a stockpile of technology 18/12/2019 … after some beginning The small Rombit DevOps history
  9. ▪ Adaptation of new technologies like mobile apps (React Native),

    backend switched to JVM-based tech (mostly Spring Boot) ▪ Move to Kubernetes ▪ New infra made CI/CD more complex, e.g.: ◦ Various testing strategies ◦ Ansible ◦ Bash scripts … ▪ Jenkins updates & plugin management (being outdated as a daily routine) 18/12/2019 … and also The small Rombit DevOps history
  10. The current Jungle 2 18 DECEMBER 2019

  11. Current Jungle 18/12/2019 Jenkins Stack

  12. Current Jungle ▪ No governance ▪ Passwords everywhere (Jenkins /

    Credstash) ▪ No oversight ▪ Limited user management ▪ Ansible Scripts: all logic possible ▪ Jenkins files: Groovy, logic mingled with scripts ▪ Release and pray strategy ▪ Split the CI from the CD (build & deploy) 18/12/2019 Difficult
  13. Targets 3 18 DECEMBER 2019

  14. Targets ▪ Fast & easy setup of new projects. ▪

    Build an artifact and deploy anywhere anytime & move the artefact around… without rebuilding. 18/12/2019 Target #1
  15. Targets ▪ Proper integration with test automation ▪ Get faster

    test feedback by deploying more often into production ▪ Possibility to activate other integrations 18/12/2019 Target #2
  16. Targets ▪ Structured, UI driven, managed tool with proper: ◦

    Access control ◦ Pipeline trigger management, also for non tech people ⚡ ◦ Proper governance and overview ‍✈ ◦ Easy versioned plugin management 18/12/2019 Target #3
  17. Azure DevOps 4 18 DECEMBER 2019

  18. Azure DevOps 18/12/2019 Azure DevOps stack

  19. Azure DevOps ▪ Split CI from CD ▪ Managed service

    with a proper UI, drag and drop ▪ Password management ability via secrets & keys ▪ Task groups for repeating tasks ▪ Governance ▪ Working now well for: ◦ FE apps (React) ◦ BE apps (Spring Boot/Node JS) ◦ It has a MacOS agent! Yay! 18/12/2019 Lessons learned so far
  20. Azure DevOps ▪ Pipeline template setups for default stack projects

    (also considering yaml files for templating…) ▪ Movement from Jenkins…. towards Azure DevOps by June 2020. 18/12/2019 Work in progress...
  21. Azure DevOps ▪ Getting started: ◦ Strategy to split CI/CD

    for mobile apps with Azure DevOps and Fastlane ◦ Notification strategy via Slack ▪ Getting planned: ◦ Automated UI/integration test runs in CI ▪ To be validated: ◦ .yaml configuration via Code 18/12/2019 Not doing… yet.
  22. Demo time! 5 18 DECEMBER 2019

  23. Demo fallback image 18/12/2019

  24. Demo fallback image 18/12/2019

  25. Yaml Pipelines - VSCode-like editor online with task assistant 18/12/2019

  26. Yaml Pipelines - Save to a new branch and create

    a PR 18/12/2019
  27. Questions? 6 18 DECEMBER 2019