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.

Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anything to Anywhere with Azure DevOps

459 views

Published on

Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anything to Anywhere with Azure DevOps
Janusz Nowak
@jnowwwak
https://www.linkedin.com/in/janono
https://github.com/janusznowak
https://blog.janono.pl

Published in: Technology
  • Be the first to comment

Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anything to Anywhere with Azure DevOps

  1. 1. Continues Integration and Continuous Delivery with Azure DevOps Ci, Cd, Why ? Deploy Anything to Anywhere with Azure DevOps Janusz Nowak @jnowwwak https://www.linkedin.com/in/janono https://github.com/janusznowak https://blog.janono.pl
  2. 2. About me - Janusz Nowak • I graduated 2008 • Father of • Over 14 years of professional experience as software developer about 9 year also with TFS/VSTS/Azure Dev Ops and over 3 years with Azure • Working now for as DevOps It Manager • Passionate about ALM, Cloud, Server less, Infrastructure as Code
  3. 3. What is Continues Integration ? “Continuous integration (CI) is the practice, in software engineering, of merging all developer working copies to a shared mainline several times a Day” Grady Booch (1991) https://en.wikipedia.org/wiki/Continuous_integration
  4. 4. What is CD ? Continuous deployment (CD) is a software engineering approach in which software functionalities are delivered frequently through automated deployments.CD contrasts with continuous delivery, a similar approach in which software functionalities are also frequently delivered and deemed to be potentially capable of being deployed but are actually not deployed.
  5. 5. What is DevOps? “DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.” Donovan Brown
  6. 6. Waste – DevOps – Agile - Value It means anything that does not add value to the customer. According to Lean Software Development: An Agile Toolkit, “A part that is sitting around waiting to be used is waste. Making something that is not immediately needed is waste. Motion is waste. Transportation is waste. Waiting is waste. Any extra processing steps are waste. And of course defects are waste.” Think about that for a moment and think about all the activities your organization does on a daily basis.
  7. 7. Lean software development / management / manufacturing • Lean software development is a translation of lean manufacturing principles and practices to the software development domain. Adapted from the Toyota Production System The Seven Waste of Manufacturing The Seven Wastes of Software Development Inventory Partially Done Work Extra Processes Extra Processes Overproduction Extra Features Transportation Task Switiching Waiting Waiting Motion Motion Defects Defects
  8. 8. Understand your Cycle Time
  9. 9. How to get there - Azure DevOps Deliver value to your users faster using proven agile tools to plan, track, and discuss work across your teams. Build, test, and deploy with CI/CD that works with any language, platform, and cloud. Connect to GitHub or any other Git provider and deploy continuously. Get unlimited, cloud-hosted private Git repos and collaborate to build better code with pull requests and advanced file management. Test and ship with confidence using manual and exploratory testing tools. Create, host, and share packages with your team, and add artifacts to your CI/CD pipelines with a single click. Azure Boards Azure ReposAzure Pipelines Azure Test Plans Azure Artifacts
  10. 10. 2016 .NET Core 1.0 PowerShell Core Windows Subsystem for Linux in Windows 10 Microsoft joins Linux foundation GitHub recognizes Microsoft as a top open source contributor 2017 Team Foundation Server 2017 Team Foundation Server 2018 Microsoft Azure Kubernetes Service launched Draft, Brigade, Kashti projects submitted to Kubernetes community Microsoft joins Cloud Native Computing & Cloud Foundry Foundations SQL 2017 on Linux Windows source code moved to Git Azure Databricks (Apache Spark) announced 2005 Azure DevOps History Azure History Microsoft Open Source 2019 Microsoft Azure
  11. 11. Track work with Kanban boards, backlogs, team dashboards, and custom reporting Azure Boards Connected from idea to release Track all your ideas at every development stage and keep your team aligned with all code changes linked directly to work items. Scrum Ready Use built-in scrum boards and planning tools to help your teams run sprints, stand-ups, and planning meetings. Built for insights Gain new insights into the health and status of your project with powerful analytics tools and dashboard widgets.
  12. 12. Work Items - list
  13. 13. Fields State Areas Iterations Links History Discussion Work Items – details
  14. 14. Live update Fields display Styling Rules Tag color Columns Swim lanes Board
  15. 15. Priority Sprints Levels Forecasting Work Items - backlog
  16. 16. Sprints – task board
  17. 17. Analytics
  18. 18. Queries
  19. 19. Queries
  20. 20. Get unlimited private Git repository hosting and support for TFVC that scales from a hobby project to the world’s largest repository. Azure Repos Support for any Git client Securely connect with and push code into your Git repos from any IDE, editor, or Git client. Web hooks and API integration Add validations and extensions from the marketplace or build your own using web hooks and REST APIs. Semantic code search Quickly find what you’re looking for with code-aware search that understands classes and variables.
  21. 21. History
  22. 22. Branch policies
  23. 23. Pull requests - crate
  24. 24. Pull requests and branch policy
  25. 25. Git Flow - A successful Git branching model
  26. 26. Get cloud-hosted pipelines for Linux, macOS, and Windows. Build web, desktop and mobile applications. Deploy to any cloud or on-premises. Azure Pipelines Any language, any platform Build, test, and deploy Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android, and iOS apps. Run in parallel on Linux, macOS, and Windows. Extensible Explore and implement a wide range of community-built build, test, and deployment tasks, along with hundreds of extensions from Slack to SonarCloud. Best-in-class for open source Ensure fast continuous integration/continuous delivery (CI/CD) pipelines for every open source project. Get 10 free parallel jobs with unlimited build minutes for all open source projects. Containers and Kubernetes Easily build and push images to container registries like Docker Hub and Azure Container Registry. Deploy containers to individual hosts or Kubernetes. Implement continuous delivery (CD) of your software to any cloud, including Azure, AWS, and GCP. Visualize deployment to any number of interdependent stages. Take advantage of easy build chaining and multi-phased builds. Support for YAML, test integration, release gates, reporting— and more. Advanced workflows and features Deploy to any cloud
  27. 27. Create build definition - Select the Build Source
  28. 28. Select the Build Template
  29. 29. Configure the Build Tasks
  30. 30. Select the Build Agent
  31. 31. Build definition history
  32. 32. Build Retention
  33. 33. Build Triggers
  34. 34. Pipelines Variables
  35. 35. Variable Groups Key Vault Integration
  36. 36. Run Build
  37. 37. Unit Tests
  38. 38. Pipelines Analytic
  39. 39. Yaml
  40. 40. Much faster then on premise Easy adopt Pay as You Go Real Staging Infostructure as code Any cloud Containers Cloud as Opener
  41. 41. Where we stooped ? Deploy…
  42. 42. Arm, Azure Cli, Azure PowerShell, Terraform
  43. 43. Release pipeline - Stages
  44. 44. Release pipeline
  45. 45. Release pipeline- Artifact download
  46. 46. Release pipeline
  47. 47. Release pipeline – Artefacts
  48. 48. Release pipeline - Post-deployment conditions
  49. 49. Release pipeline - Post-deployment conditions
  50. 50. Release pipeline - Post-deployment conditions
  51. 51. Release pipeline - Post-deployment conditions
  52. 52. Release pipeline - Post-deployment conditions
  53. 53. Release pipeline History
  54. 54. Build and release agents • Microsoft-hosted agents • Ubuntu 16.04 (ubuntu-16.04) • Visual Studio 2017 on Windows Server 2016 (vs2017-win2016) • Xcode 9 on macOS 10.13 (xcode9-macos10.13) • Windows Server 1803 (win1803) - for running Windows containers • Visual Studio 2015 on Windows Server 2012R2 (vs2015-win2012r2) • Self-hosted agents • Linux agents • macOS agents • Windows agents • Capabilities
  55. 55. Agents pools
  56. 56. Parallel jobs
  57. 57. Marketplace
  58. 58. Azure DevOps release by Azure DevOps
  59. 59. Improve your code quality using planned and exploratory testing services for your apps. Azure Test Plans Capture rich data Capture rich scenario data as you execute tests to make discovered defects actionable. Test across web and desktop Test your application by executing tests across desktop or web apps. Get end-to-end traceability Take advantage of end-to-end traceability and quality for your stories and features.
  60. 60. Unit Tests Integration Tests UI Tests Manual and Automated Manual QA Testing Smoke tests Performance Tests Cloud load tests Multiple technology and languages Test – what kind of test there are
  61. 61. Azure Test Plans – Crete test cases
  62. 62. Crete test cases from requirement - board
  63. 63. Crete test case in Test suite in current iteration Crete test cases from requirement - board
  64. 64. Crete test cases steps
  65. 65. Crete test cases from requirement
  66. 66. Crete test suite from requirement
  67. 67. Crete test cases
  68. 68. Crete test cases – grid
  69. 69. Crete test parameters
  70. 70. Run Tests
  71. 71. Run Tests
  72. 72. Run Tests
  73. 73. Run Tests
  74. 74. Run Tests – crate bug
  75. 75. Run Tests – crate bug
  76. 76. Run Tests – results
  77. 77. Create and share Maven, npm, NuGet, and Python package feeds from public and private sources Azure Artifacts Easily share code across small teams and large enterprises. Add packages to any pipeline Get universal artifact management for Maven, npm, NuGet, Python and Gradle. Share code efficiently Share packages, and use built-in CI/CD, versioning, and testing. Manage all package types Preview - Package caching Preview – Public Packages Can be used as Symbol server
  78. 78. Azure Artifacts
  79. 79. Azure Artifacts – create feed
  80. 80. Azure Artifacts – connect to feed
  81. 81. Azure Artifacts
  82. 82. Azure Artifacts
  83. 83. Summary • One to run them All • Full traceability out of the box • Hosted SaaS solution • Always up to date • No maintenance of own build machines • Hosted in various regions world wide • Option to self host • Build, deploy anything anywhere • Free for open Source
  84. 84. What is DevOps? “DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.” Donovan Brown
  85. 85. Demo
  86. 86. Continues Integration and Continuous Delivery with Azure DevOps Ci, Cd, Why ? Deploy Anything to Anywhere with Azure DevOps Janusz Nowak @jnowwwak https://www.linkedin.com/in/janono https://github.com/janusznowak https://blog.janono.pl Thank you

×