title
Azure DevOps Tutorial for Beginners | CI/CD with Azure Pipelines

description
Azure DevOps Tutorial | CI/CD with Azure DevOps Pipelines, Azure Repos, Azure Test Plans, Azure Boards 💛 Follow me on IG for behind-the-scenes-content ► https://bit.ly/2F3LXYJ 💚 Become a DevOps Engineer - 6-month program: ► https://bit.ly/3OAOxa7 🧡 GitLab Course with K8s, Microservices, Multi-Stage: ► https://bit.ly/3q9vFFa #azuredevops #devops #techworldwithnana ► This video is sponsored by Pulumi 🙌🏼, a universal IaC tool ► For more infos, check it out here: https://www.pulumi.com/ ► Pulumi was covered in my DevOps tool of the month video: https://youtu.be/vIjeiDcsR3Q In this video we will learn about Azure DevOps. We will see what it is and what you can do with Azure DevOps platform. How to use it for your software development projects and generally how is this relevant for you as an engineer? We will see different features and use cases of Azure DevOps. How it all works and how you can implement the whole software development and deployment lifecycle with it. We will also review the Azure DevOps architecture and how it works in the background and finally we will also compare it with alternative tools and talk a bit about which of these tools you need to learn for your career with so many alternative options. As the name suggests Azure DevOps is a DevOps platform. It is a software as a service offering, which was created to basically be a one-stop shop for implementing all your DevOps processes for your project. So it's basically a technological implementation of the DevOps process, which covers the whole software development lifecycle and it has features for each part of this lifecycle. So in this tutorial, we will go through the steps or parts of that software development lifecycle and see how the various Azure DevOps services map to those parts. ▬▬▬▬▬▬ T I M E S T A M P S ⏰ ▬▬▬▬▬▬ 00:00 - Intro and Overview 00:42 - What is Azure DevOps? 03:16 - Azure Boards 05:35 - Azure Repos 03:16 - Azure Boards 07:52 - Azure Pipelines (Build Pipeline - CI) 15:09 - Azure Artifacts 16:44 - Stages in Azure Pipelines 18:44 - Templates in Azure Pipelines 20:09 - Environments in Azure Pipelines 21:17 - Release Pipelines (CD) 23:17 - Test Plans 24:44 - Azure DevOps Architecture 26:35 - Pricing Model 26:56 - Service Connections 29:20 - Comparison with other platforms 33:51 - Which technology to learn? ▬▬▬▬▬▬ Want to learn more? 🚀 ▬▬▬▬▬▬ Full Python course ► https://youtu.be/t8pPdKYpowI Full Docker course ► https://youtu.be/3c-iBn73dDE Full K8s course ► https://youtu.be/X48VuDVv0do DevOps Tools explained ► https://bit.ly/2W9UEq6 ▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬ INSTAGRAM ► https://bit.ly/2F3LXYJ TWITTER ► https://bit.ly/3i54PUB LINKEDIN ► https://bit.ly/3hWOLVT FB group ► https://bit.ly/32UVSZP DEV ► https://bit.ly/3h2fqiO ▬▬▬▬▬▬ Courses & Bootcamp & Ebooks 🚀 ▬▬▬▬▬▬ ► Become a DevOps Engineer - full educational program 👉🏼 https://bit.ly/45mXaer ► High-Quality and Hands-On Courses 👉🏼 https://bit.ly/3BNS8Kv ► Kubernetes 101 - compact and easy-to-read ebook bundle 👉🏼 https://bit.ly/3Ozl28x

detail
{'title': 'Azure DevOps Tutorial for Beginners | CI/CD with Azure Pipelines', 'heatmap': [{'end': 291.033, 'start': 240.606, 'weight': 0.876}, {'end': 548.332, 'start': 449.977, 'weight': 0.966}, {'end': 963.38, 'start': 896.075, 'weight': 0.787}, {'end': 1018.281, 'start': 984.305, 'weight': 0.717}, {'end': 1317.226, 'start': 1266.278, 'weight': 0.933}, {'end': 1709.681, 'start': 1675.777, 'weight': 0.707}], 'summary': 'This tutorial covers azure devops overview, software development lifecycle and azure repository, azure devops ci pipelines and pipeline jobs, parallel testing and azure devops ci-cd pipeline, azure devops deployment and architecture overview, and azure devops features with insights for engineers on its relevance and implementation in software development projects.', 'chapters': [{'end': 196.435, 'segs': [{'end': 69.816, 'src': 'embed', 'start': 0.61, 'weight': 0, 'content': [{'end': 6.056, 'text': 'So in this video, we will learn about one of the popular DevOps platforms called Azure DevOps.', 'start': 0.61, 'duration': 5.446}, {'end': 14.106, 'text': 'We will see what it is and what you can do with Azure DevOps platform, how to use it for your software development projects and, generally,', 'start': 6.457, 'duration': 7.649}, {'end': 16.328, 'text': 'how is this relevant for you as an engineer?', 'start': 14.106, 'duration': 2.222}, {'end': 20.632, 'text': 'We will see different features and use cases of Azure DevOps,', 'start': 16.949, 'duration': 3.683}, {'end': 26.196, 'text': 'how it all works and how you can implement the whole software development and deployment lifecycle with it.', 'start': 20.632, 'duration': 5.564}, {'end': 32.18, 'text': 'We will also review the Azure DevOps architecture and how it works in the background.', 'start': 26.617, 'duration': 5.563}, {'end': 33.282, 'text': 'And finally,', 'start': 32.701, 'duration': 0.581}, {'end': 42.169, 'text': 'we will also compare it with alternative tools and talk a bit about which of these tools you need to learn for your career with so many alternative options.', 'start': 33.282, 'duration': 8.887}, {'end': 43.606, 'text': "So let's get started.", 'start': 42.745, 'duration': 0.861}, {'end': 50.195, 'text': 'So first of all, what is Azure DevOps? As the name suggests, it is a DevOps platform.', 'start': 43.867, 'duration': 6.328}, {'end': 61.37, 'text': 'It is a software as a service offering, which was created to basically be a one-stop shop for implementing all your DevOps processes for your project.', 'start': 50.536, 'duration': 10.834}, {'end': 65.012, 'text': 'And it had many names before it became known as Azure DevOps.', 'start': 61.59, 'duration': 3.422}, {'end': 69.816, 'text': 'It was called Team Foundation Server, then Visual Studio Team Services.', 'start': 65.613, 'duration': 4.203}], 'summary': 'Learn about azure devops, a popular devops platform, its features, use cases, and architecture, and compare with alternative tools for career options.', 'duration': 69.206, 'max_score': 0.61, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c610.jpg'}, {'end': 122.133, 'src': 'embed', 'start': 95.991, 'weight': 3, 'content': [{'end': 106.681, 'text': 'However, since DevOps became more mainstream and as it is now used in lots of projects worldwide, It was actually renamed to Azure DevOps,', 'start': 95.991, 'duration': 10.69}, {'end': 110.684, 'text': 'which is pretty smart, because DevOps is already a popular term.', 'start': 106.681, 'duration': 4.003}, {'end': 111.825, 'text': 'Everybody knows what it is.', 'start': 110.744, 'duration': 1.081}, {'end': 116.048, 'text': "So just by the name, you know that it's a platform for DevOps.", 'start': 112.225, 'duration': 3.823}, {'end': 120.171, 'text': 'But it still sounds too general, because what is a DevOps platform?', 'start': 116.468, 'duration': 3.703}, {'end': 122.133, 'text': 'DevOps is many things right?', 'start': 120.551, 'duration': 1.582}], 'summary': 'Devops renamed to azure devops for popular term recognition and platform specificity.', 'duration': 26.142, 'max_score': 95.991, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c95991.jpg'}, {'end': 196.435, 'src': 'embed', 'start': 172.637, 'weight': 5, 'content': [{'end': 181.884, 'text': 'And Azure DevOps is basically a technological implementation of that DevOps process, which covers the whole software development lifecycle.', 'start': 172.637, 'duration': 9.247}, {'end': 185.307, 'text': 'And it has features for each part of this lifecycle.', 'start': 182.204, 'duration': 3.103}, {'end': 196.435, 'text': "So let's go through the steps or parts of that software development lifecycle and see how the various Azure DevOps features map to those parts.", 'start': 185.947, 'duration': 10.488}], 'summary': 'Azure devops implements devops process for software development lifecycle.', 'duration': 23.798, 'max_score': 172.637, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c172637.jpg'}], 'start': 0.61, 'title': 'Azure devops overview', 'summary': 'Explores azure devops, covering its features, use cases, architecture, and comparisons with alternative tools, providing insights for engineers on its relevance and implementation in software development projects. it also discusses the evolution of azure devops from its predecessor, its role in implementing devops processes, and how it covers the entire software development lifecycle, with features for each part.', 'chapters': [{'end': 43.606, 'start': 0.61, 'title': 'Azure devops overview', 'summary': 'Explores azure devops, covering its features, use cases, architecture, and comparisons with alternative tools, providing insights for engineers on its relevance and implementation in software development projects.', 'duration': 42.996, 'highlights': ['Azure DevOps is a popular DevOps platform that offers a range of features and use cases for software development projects, providing an overview of what engineers can do with it and its relevance in the engineering field.', 'The video delves into the architecture and functioning of Azure DevOps, explaining how it facilitates the entire software development and deployment lifecycle, offering a comprehensive insight into its workings.', 'A comparison with alternative tools is provided, guiding engineers on the selection of the most suitable tool to learn for their career advancement in the context of numerous alternative options available in the market.']}, {'end': 196.435, 'start': 43.867, 'title': 'Azure devops overview', 'summary': 'Discusses the evolution of azure devops from its predecessor, its role in implementing devops processes, and how it covers the entire software development lifecycle, with features for each part.', 'duration': 152.568, 'highlights': ['Azure DevOps is a one-stop shop for implementing all DevOps processes for a project. It is a software as a service offering created to be a comprehensive solution for DevOps processes, streamlining project implementation.', 'DevOps became more mainstream, leading to the renaming of the platform to Azure DevOps. This rebranding was strategic as DevOps gained popularity globally, making the name change to Azure DevOps a smart move.', 'Azure DevOps is a technological implementation covering the entire software development lifecycle. It encompasses features for each part of the software development lifecycle, offering a comprehensive solution for efficient workflow implementation.']}], 'duration': 195.825, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c610.jpg', 'highlights': ['Azure DevOps is a one-stop shop for implementing all DevOps processes for a project. It is a software as a service offering created to be a comprehensive solution for DevOps processes, streamlining project implementation.', 'The video delves into the architecture and functioning of Azure DevOps, explaining how it facilitates the entire software development and deployment lifecycle, offering a comprehensive insight into its workings.', 'Azure DevOps is a popular DevOps platform that offers a range of features and use cases for software development projects, providing an overview of what engineers can do with it and its relevance in the engineering field.', 'DevOps became more mainstream, leading to the renaming of the platform to Azure DevOps. This rebranding was strategic as DevOps gained popularity globally, making the name change to Azure DevOps a smart move.', 'A comparison with alternative tools is provided, guiding engineers on the selection of the most suitable tool to learn for their career advancement in the context of numerous alternative options available in the market.', 'Azure DevOps is a technological implementation covering the entire software development lifecycle. It encompasses features for each part of the software development lifecycle, offering a comprehensive solution for efficient workflow implementation.']}, {'end': 502.259, 'segs': [{'end': 294.456, 'src': 'heatmap', 'start': 240.606, 'weight': 0, 'content': [{'end': 244.127, 'text': 'Two of the most popular workflows are Agile and Scrum.', 'start': 240.606, 'duration': 3.521}, {'end': 249.028, 'text': 'Many modern projects use one of these approaches for their development.', 'start': 244.667, 'duration': 4.361}, {'end': 258.57, 'text': 'So once you have created a project in Azure DevOps for your application, the first feature you will probably use here will be Azure Boards.', 'start': 249.528, 'duration': 9.042}, {'end': 267.092, 'text': 'And depending on which workflow you use for your projects in your company generally like Agile, Scrum or even some basic workflow,', 'start': 258.73, 'duration': 8.362}, {'end': 270.975, 'text': 'you can choose the corresponding board for this project.', 'start': 267.492, 'duration': 3.483}, {'end': 275.358, 'text': 'Because, as I said, Azure DevOps, or any other similar platform,', 'start': 271.215, 'duration': 4.143}, {'end': 281.883, 'text': 'is basically just a tool that gives you various features to implement whatever workflows you have in your company.', 'start': 275.358, 'duration': 6.525}, {'end': 291.033, 'text': 'so on azure boards, you can create tickets or tasks for features, improvements or fixes for your applications.', 'start': 282.663, 'duration': 8.37}, {'end': 294.456, 'text': 'as part of that agile or scrum processes,', 'start': 291.033, 'duration': 3.423}], 'summary': 'Azure devops offers agile and scrum workflows, allowing for efficient project management and task tracking.', 'duration': 49.789, 'max_score': 240.606, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c240606.jpg'}, {'end': 334.509, 'src': 'embed', 'start': 312.209, 'weight': 2, 'content': [{'end': 321.132, 'text': 'So Azure boards can be used for communicating between the developers, testers, product owner, et cetera, within the task description.', 'start': 312.209, 'duration': 8.923}, {'end': 329.019, 'text': 'Plus it can be used to have an overview and transparency over the status of the feature as it is being developed.', 'start': 321.732, 'duration': 7.287}, {'end': 334.509, 'text': "Who is working on it, what stage it is in, what's its progress status, has it been deployed already, etc.", 'start': 329.32, 'duration': 5.189}], 'summary': 'Azure boards facilitate communication and provide transparency on feature development status, including task progress and deployment.', 'duration': 22.3, 'max_score': 312.209, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c312209.jpg'}, {'end': 399.434, 'src': 'embed', 'start': 366.812, 'weight': 3, 'content': [{'end': 371.654, 'text': 'So every repository also supports Git, which is the most popular version control tool.', 'start': 366.812, 'duration': 4.842}, {'end': 377.378, 'text': 'So developers can host their code in Azure Repository and push their changes to it.', 'start': 371.994, 'duration': 5.384}, {'end': 383.602, 'text': 'However, the code repositories have actually evolved and became much more feature-rich,', 'start': 378.058, 'duration': 5.544}, {'end': 387.846, 'text': 'and just hosting code is one of the many features that they provide.', 'start': 383.602, 'duration': 4.244}, {'end': 391.128, 'text': "So Azure Repository also, it's not just for hosting the code.", 'start': 388.046, 'duration': 3.082}, {'end': 399.434, 'text': 'As part of the DevOps lifecycle, developers collaborate and work together to develop high-quality code.', 'start': 391.648, 'duration': 7.786}], 'summary': 'Azure repository supports git and offers more than just code hosting for developers in the devops lifecycle.', 'duration': 32.622, 'max_score': 366.812, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c366812.jpg'}, {'end': 472.476, 'src': 'embed', 'start': 431.996, 'weight': 4, 'content': [{'end': 442.348, 'text': 'so basically how your team decides to work on the code and to make sure that the quality of code is very good, and there are many git workflows,', 'start': 431.996, 'duration': 10.352}, {'end': 449.737, 'text': 'or the way teams use git and all its features, and different companies may use different approaches or different workflows.', 'start': 442.348, 'duration': 7.389}, {'end': 459.965, 'text': 'But the key point here is that with Azure repository, you have the tool that enables you to implement whatever Git workflow you choose to work with.', 'start': 449.977, 'duration': 9.988}, {'end': 467.712, 'text': 'Plus note that the repository and branches and the pull requests are all linked back to the feature task.', 'start': 460.486, 'duration': 7.226}, {'end': 472.476, 'text': 'So you see the activity and status of development there as well.', 'start': 468.012, 'duration': 4.464}], 'summary': 'Azure repository supports various git workflows, linking branches and pull requests to feature tasks for visibility and status tracking.', 'duration': 40.48, 'max_score': 431.996, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c431996.jpg'}], 'start': 200.498, 'title': 'Software development lifecycle and azure repository', 'summary': 'Covers an overview of the software development lifecycle, focusing on planning, workflows like agile and scrum, and the use of azure devops. it also discusses azure repository as a code hosting platform, detailing its features for git workflow, pull requests, branches, and collaboration, emphasizing the importance of implementing various git workflows to ensure high-quality code and link development activity and status to feature tasks.', 'chapters': [{'end': 334.509, 'start': 200.498, 'title': 'Software development lifecycle overview', 'summary': 'Explains the software development lifecycle, including planning, workflows like agile and scrum, and the use of azure devops for managing tasks and tracking progress of features and improvements.', 'duration': 134.011, 'highlights': ['Azure DevOps offers various features to implement different workflows like Agile and Scrum for project development. Azure DevOps provides support for implementing different workflows, such as Agile and Scrum, for project development.', 'Azure Boards in Azure DevOps can be used to create tickets or tasks for features, improvements, or fixes for applications, and to assign and track the progress of these tasks. Azure Boards in Azure DevOps facilitates the creation and tracking of tickets or tasks for application features, improvements, or fixes.', 'Azure Boards can be used for communication between developers, testers, product owners, etc., within task descriptions, offering transparency over the status of the feature being developed. Azure Boards enable communication between team members and provide transparency over the status of the feature being developed.']}, {'end': 502.259, 'start': 338.806, 'title': 'Azure repository for code hosting', 'summary': 'Discusses how azure repository offers a feature-rich platform for hosting code, including git workflow with pull requests, branches, and collaboration features, allowing developers to implement various git workflows to ensure high-quality code and link development activity and status to feature tasks.', 'duration': 163.453, 'highlights': ['Azure Repository offers a feature-rich platform for hosting code, including Git workflow with pull requests, branches, and collaboration features. Developers can utilize Azure Repository as a comprehensive platform for hosting code, incorporating essential Git workflow elements such as pull requests, branches, and collaboration features.', 'Developers can implement various Git workflows to ensure high-quality code. The tool enables developers to implement diverse Git workflows to guarantee the quality of the code being developed.', 'Linking development activity and status to feature tasks within Azure Repository. Azure Repository facilitates the linkage of development activity and status to specific feature tasks, providing visibility into the progress and status of the development process.']}], 'duration': 301.761, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c200498.jpg', 'highlights': ['Azure DevOps provides support for implementing different workflows, such as Agile and Scrum, for project development.', 'Azure Boards in Azure DevOps facilitates the creation and tracking of tickets or tasks for application features, improvements, or fixes.', 'Azure Boards enable communication between team members and provide transparency over the status of the feature being developed.', 'Developers can utilize Azure Repository as a comprehensive platform for hosting code, incorporating essential Git workflow elements such as pull requests, branches, and collaboration features.', 'The tool enables developers to implement diverse Git workflows to guarantee the quality of the code being developed.', 'Azure Repository facilitates the linkage of development activity and status to specific feature tasks, providing visibility into the progress and status of the development process.']}, {'end': 809.608, 'segs': [{'end': 570.245, 'src': 'embed', 'start': 524.01, 'weight': 0, 'content': [{'end': 529.917, 'text': 'Pipelines can be written in YAML, which means you can have your pipeline script as part of your code.', 'start': 524.01, 'duration': 5.907}, {'end': 534.161, 'text': 'The main building blocks of Azure build pipelines are steps.', 'start': 530.658, 'duration': 3.503}, {'end': 543.449, 'text': 'For example, if we want to test and package the application, we may have steps to run tests package application, build an image,', 'start': 534.601, 'duration': 8.848}, {'end': 548.332, 'text': 'push that image to an image repository so that later it can be deployed.', 'start': 543.449, 'duration': 4.883}, {'end': 557.477, 'text': 'Each step will execute a certain command to run the test, to package the application, build a Docker image, and so on.', 'start': 548.472, 'duration': 9.005}, {'end': 566.242, 'text': 'This is an example pipeline for building a NET application, which is a common type of application built on Azure DevOps platform,', 'start': 557.517, 'duration': 8.725}, {'end': 570.245, 'text': 'since ASP.NET is also part of the Microsoft technology stack.', 'start': 566.242, 'duration': 4.003}], 'summary': 'Azure build pipelines use yaml for pipeline scripts. steps include testing, packaging, and building an image for deployment.', 'duration': 46.235, 'max_score': 524.01, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c524010.jpg'}, {'end': 632.703, 'src': 'embed', 'start': 597.805, 'weight': 2, 'content': [{'end': 600.347, 'text': 'so what is the task and how does it work?', 'start': 597.805, 'duration': 2.542}, {'end': 612.714, 'text': 'in azure devops, you have loads of tasks already available to choose from for different use cases, and they can be selected and configured using a ui.', 'start': 600.347, 'duration': 12.367}, {'end': 623.32, 'text': "you can select the tasks directly from the list of available tasks on the right side of the pipeline's yaml editor and configure any needed parameters for the task.", 'start': 612.714, 'duration': 10.606}, {'end': 632.703, 'text': 'and when you have the task configured basically you filled in and set all the parameters you can add the task back to your yaml pipeline.', 'start': 623.82, 'duration': 8.883}], 'summary': 'Azure devops offers a variety of tasks for different use cases, which can be selected and configured using a ui, then added to the yaml pipeline.', 'duration': 34.898, 'max_score': 597.805, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c597805.jpg'}, {'end': 723.403, 'src': 'embed', 'start': 691.824, 'weight': 3, 'content': [{'end': 697.87, 'text': 'Now, this is a very simple scenario of a pipeline with one single job that has all the steps.', 'start': 691.824, 'duration': 6.046}, {'end': 704.656, 'text': 'But in practice, we often have more complex scenarios where we would need multiple jobs in a single pipeline.', 'start': 698.51, 'duration': 6.146}, {'end': 709.1, 'text': "Let's say we want to execute the test step on two different operating systems.", 'start': 705.157, 'duration': 3.943}, {'end': 713.364, 'text': 'We want to test the application on Linux and Windows before we build it.', 'start': 709.441, 'duration': 3.923}, {'end': 723.403, 'text': "Or let's say we test and deploy our application on Linux machine, but we need a database for our application, which must run on a Windows machine.", 'start': 714.165, 'duration': 9.238}], 'summary': 'In a complex scenario, multiple jobs are needed in a single pipeline, e.g., testing on different operating systems.', 'duration': 31.579, 'max_score': 691.824, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c691824.jpg'}, {'end': 785.958, 'src': 'embed', 'start': 739.82, 'weight': 5, 'content': [{'end': 742.641, 'text': 'So a job is basically a group of multiple steps.', 'start': 739.82, 'duration': 2.821}, {'end': 747.983, 'text': "However, when we have only one job in our pipeline, we don't need to explicitly define it.", 'start': 743.221, 'duration': 4.762}, {'end': 750.424, 'text': "That's why we could skip this in the simple pipeline.", 'start': 748.083, 'duration': 2.341}, {'end': 755.565, 'text': 'But when we have multiple jobs, we need to define them within jobs attribute.', 'start': 750.704, 'duration': 4.861}, {'end': 759.046, 'text': 'So we have multiple jobs, each with multiple steps.', 'start': 756.005, 'duration': 3.041}, {'end': 762.607, 'text': 'And now we can actually execute each job.', 'start': 759.686, 'duration': 2.921}, {'end': 768.408, 'text': 'So all the steps within the job on a different environment, also called an agent.', 'start': 762.787, 'duration': 5.621}, {'end': 776.989, 'text': 'So agent is a machine that will execute the tasks or the steps of the pipeline, like running the test, building an image, et cetera.', 'start': 768.808, 'duration': 8.181}, {'end': 780.07, 'text': 'And an agent is selected from an agent pool.', 'start': 777.489, 'duration': 2.581}, {'end': 785.958, 'text': 'like pull of Windows machines, or Linux machines, or Mac OS machines, etc.', 'start': 780.671, 'duration': 5.287}], 'summary': 'A job in a pipeline consists of multiple steps, each executed by an agent from a machine pool.', 'duration': 46.138, 'max_score': 739.82, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c739820.jpg'}], 'start': 502.739, 'title': 'Azure devops ci pipelines and pipeline jobs', 'summary': 'Discusses azure pipelines for testing and building applications, with specific examples for .net applications and explains the concept of jobs and agents in a pipeline, highlighting the use of multiple jobs for different operating systems.', 'chapters': [{'end': 668.734, 'start': 502.739, 'title': 'Azure devops ci pipelines', 'summary': 'Discusses the process of testing and building applications using azure pipelines, which can be written in yaml and include steps such as running tests and packaging applications, with specific examples provided for .net applications.', 'duration': 165.995, 'highlights': ['Azure Pipelines Section is used to build the CI pipeline, written in YAML, with main building blocks as steps. Azure Pipelines Section is used to build the CI pipeline, written in YAML, with main building blocks as steps.', 'The example pipeline for building a .NET application includes testing and building the application with .NET commands and then building the image with Docker command. The example pipeline for building a .NET application includes testing and building the application with .NET commands and then building the image with Docker command.', 'Azure DevOps provides a variety of tasks for different use cases, which can be selected and configured using a UI and then added to the YAML pipeline. Azure DevOps provides a variety of tasks for different use cases, which can be selected and configured using a UI and then added to the YAML pipeline.']}, {'end': 809.608, 'start': 669.194, 'title': 'Pipeline jobs and agents', 'summary': 'Explains the concept of jobs in a pipeline, highlighting the use of multiple jobs for different operating systems and the role of agents in executing pipeline steps.', 'duration': 140.414, 'highlights': ['The chapter explains the concept of jobs in a pipeline, highlighting the use of multiple jobs for different operating systems and the role of agents in executing pipeline steps.', 'In practice, there are more complex scenarios where multiple jobs are needed in a single pipeline, such as testing on different operating systems or deploying on separate machines.', "A job is a group of multiple steps, and when multiple jobs are present in a pipeline, they need to be defined within the 'jobs' attribute.", 'An agent is a machine that executes the tasks or steps of the pipeline, and it is selected from an agent pool based on the type of environment needed, such as Windows, Linux, or Mac OS machines.']}], 'duration': 306.869, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c502739.jpg', 'highlights': ['Azure Pipelines Section is used to build the CI pipeline, written in YAML, with main building blocks as steps.', 'The example pipeline for building a .NET application includes testing and building the application with .NET commands and then building the image with Docker command.', 'Azure DevOps provides a variety of tasks for different use cases, which can be selected and configured using a UI and then added to the YAML pipeline.', 'The chapter explains the concept of jobs in a pipeline, highlighting the use of multiple jobs for different operating systems and the role of agents in executing pipeline steps.', 'In practice, there are more complex scenarios where multiple jobs are needed in a single pipeline, such as testing on different operating systems or deploying on separate machines.', "A job is a group of multiple steps, and when multiple jobs are present in a pipeline, they need to be defined within the 'jobs' attribute.", 'An agent is a machine that executes the tasks or steps of the pipeline, and it is selected from an agent pool based on the type of environment needed, such as Windows, Linux, or Mac OS machines.']}, {'end': 1209.14, 'segs': [{'end': 831.181, 'src': 'embed', 'start': 810.348, 'weight': 1, 'content': [{'end': 820.308, 'text': 'Another very common use case for multiple jobs would be if we have a set of steps that can run in parallel, so that the build overall is faster.', 'start': 810.348, 'duration': 9.96}, {'end': 826.595, 'text': 'This could be running multiple tests that can run at the same time, testing different parts of the application,', 'start': 820.588, 'duration': 6.007}, {'end': 829.298, 'text': "so they don't have to wait for each other to complete.", 'start': 826.595, 'duration': 2.703}, {'end': 831.181, 'text': 'they can all run at once.', 'start': 829.298, 'duration': 1.883}], 'summary': 'Running multiple tests in parallel speeds up the build process.', 'duration': 20.833, 'max_score': 810.348, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c810348.jpg'}, {'end': 968.882, 'src': 'heatmap', 'start': 882.412, 'weight': 0, 'content': [{'end': 884.992, 'text': "thanks to Pulumi's Azure Native Provider.", 'start': 882.412, 'duration': 2.58}, {'end': 888.493, 'text': 'Pulumi can easily integrate into any CI-CD platform.', 'start': 885.552, 'duration': 2.941}, {'end': 895.614, 'text': 'For Azure DevOps, they actually built a task extension that lets you easily use Pulumi in your CI-CD pipelines.', 'start': 888.893, 'duration': 6.721}, {'end': 900.976, 'text': 'It can be used with the Azure Pipelines Wizard UI or the YAML configuration.', 'start': 896.075, 'duration': 4.901}, {'end': 908.537, 'text': 'If you want to learn more about Pulumi, I actually have a separate video on it where you can see fully how it works in practice.', 'start': 901.476, 'duration': 7.061}, {'end': 912.178, 'text': "With that, let's move on to Azure Artifacts.", 'start': 909.017, 'duration': 3.161}, {'end': 919.646, 'text': 'now, traditionally, depending on the application programming language, the artifact produced will be different.', 'start': 913.018, 'duration': 6.628}, {'end': 927.456, 'text': 'could be a jar or war file for a java application, a new gay file for dotnet application, a zip file, tar file, etc.', 'start': 919.646, 'duration': 7.81}, {'end': 936.263, 'text': 'And for storing these kind of artifacts you actually have another feature in Azure DevOps called Azure Artifacts.', 'start': 928.457, 'duration': 7.806}, {'end': 946.11, 'text': 'And Azure Artifacts actually currently supports three types of artifacts, which are Maven packages, NuGet packages and NPM packages.', 'start': 936.643, 'duration': 9.467}, {'end': 950.233, 'text': "So if you're developing and building your application with any of these tools,", 'start': 946.471, 'duration': 3.762}, {'end': 957.019, 'text': 'then you can store the artifacts produced in the build pipeline in the Azure Artifacts.', 'start': 950.233, 'duration': 6.786}, {'end': 963.38, 'text': "However, in the modern software development, we usually don't produce such artifacts anymore.", 'start': 957.759, 'duration': 5.621}, {'end': 968.882, 'text': 'To deploy them, instead we create Docker images as artifacts.', 'start': 963.74, 'duration': 5.142}], 'summary': "Pulumi's azure native provider easily integrates into azure devops, supporting azure pipelines wizard ui and yaml configuration. azure artifacts in azure devops supports maven, nuget, and npm packages.", 'duration': 86.47, 'max_score': 882.412, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c882412.jpg'}, {'end': 975.783, 'src': 'embed', 'start': 946.471, 'weight': 2, 'content': [{'end': 950.233, 'text': "So if you're developing and building your application with any of these tools,", 'start': 946.471, 'duration': 3.762}, {'end': 957.019, 'text': 'then you can store the artifacts produced in the build pipeline in the Azure Artifacts.', 'start': 950.233, 'duration': 6.786}, {'end': 963.38, 'text': "However, in the modern software development, we usually don't produce such artifacts anymore.", 'start': 957.759, 'duration': 5.621}, {'end': 968.882, 'text': 'To deploy them, instead we create Docker images as artifacts.', 'start': 963.74, 'duration': 5.142}, {'end': 975.783, 'text': 'So no matter what language you use, what tools you use, the artifact is always the same, which is a container image.', 'start': 968.902, 'duration': 6.881}], 'summary': 'In modern software development, docker images are used as artifacts instead of traditional artifacts, ensuring consistency across languages and tools.', 'duration': 29.312, 'max_score': 946.471, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c946471.jpg'}, {'end': 1018.281, 'src': 'heatmap', 'start': 984.305, 'weight': 0.717, 'content': [{'end': 988.448, 'text': 'and images actually need a dedicated type of repository.', 'start': 984.305, 'duration': 4.143}, {'end': 996.993, 'text': 'so if your build pipeline produces docker images, you will connect your azure devops to some docker registry like docker hub,', 'start': 988.448, 'duration': 8.545}, {'end': 999.195, 'text': 'azure container registry, etc.', 'start': 996.993, 'duration': 2.202}, {'end': 1002.937, 'text': 'and basically store your images in that repository.', 'start': 999.195, 'duration': 3.742}, {'end': 1011.997, 'text': "Now let's say we successfully built our application into a Docker image.", 'start': 1006.533, 'duration': 5.464}, {'end': 1018.281, 'text': "We pushed it to a Docker repository, and now it's time to deploy it to the end environment.", 'start': 1012.597, 'duration': 5.684}], 'summary': 'Docker images stored in azure devops connected to a registry, ready for deployment.', 'duration': 33.976, 'max_score': 984.305, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c984305.jpg'}, {'end': 1044.461, 'src': 'embed', 'start': 1018.621, 'weight': 3, 'content': [{'end': 1026.746, 'text': 'This would be the next stage of the pipeline, which is also called the CD or continuous deployment, or continuous delivery.', 'start': 1018.621, 'duration': 8.125}, {'end': 1034.252, 'text': "If you're not totally new to DevOps, you already know that at the heart of DevOps there is the CI CD pipeline,", 'start': 1027.227, 'duration': 7.025}, {'end': 1044.461, 'text': 'which is ideally the fully automated process of taking the code changes and deploying it all the way to the production,', 'start': 1034.252, 'duration': 10.209}], 'summary': 'Devops involves the ci/cd pipeline for fully automated code deployment to production.', 'duration': 25.84, 'max_score': 1018.621, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1018621.jpg'}, {'end': 1123.904, 'src': 'embed', 'start': 1095.589, 'weight': 4, 'content': [{'end': 1101.032, 'text': "Now, when we are deploying the new application version, usually we don't directly deploy to the production.", 'start': 1095.589, 'duration': 5.443}, {'end': 1103.813, 'text': 'Instead, we deploy to intermediate environments.', 'start': 1101.132, 'duration': 2.681}, {'end': 1110.537, 'text': "We test it extensively and gradually promote it to the production when we're almost 100% sure everything is fine.", 'start': 1104.053, 'duration': 6.484}, {'end': 1115.54, 'text': 'Common is to have development, testing, and production environments.', 'start': 1111.057, 'duration': 4.483}, {'end': 1120.102, 'text': 'So we can have all these as separate stages after the build stage.', 'start': 1115.88, 'duration': 4.222}, {'end': 1123.904, 'text': 'Deploy to development, deploy to testing, deploy to production.', 'start': 1120.402, 'duration': 3.502}], 'summary': 'New application versions are tested in intermediate environments before being gradually promoted to production.', 'duration': 28.315, 'max_score': 1095.589, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1095589.jpg'}, {'end': 1182.659, 'src': 'embed', 'start': 1157.284, 'weight': 5, 'content': [{'end': 1165.791, 'text': "in azure, devops, pipelines, yaml, syntax, we can actually put any code that is repeated and extracted in what's called a template,", 'start': 1157.284, 'duration': 8.507}, {'end': 1175.636, 'text': 'which is a separate file and can be referenced in the pipeline using template attribute, and it can even be configured with parameters.', 'start': 1165.791, 'duration': 9.845}, {'end': 1182.659, 'text': "so it's like a reusable piece of configuration that you can reference in different pipelines.", 'start': 1175.636, 'duration': 7.023}], 'summary': 'Azure devops allows using reusable templates in yaml pipelines for efficient configuration management.', 'duration': 25.375, 'max_score': 1157.284, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1157284.jpg'}], 'start': 810.348, 'title': 'Parallel testing and azure devops ci-cd pipeline', 'summary': 'Discusses the use of multiple jobs for parallel testing to reduce build time, leveraging pulumi for infrastructure as code and azure native provider, and the shift towards docker images. it also covers the concept of azure devops ci-cd pipeline, stages involved, use of docker images and registries, and creation of reusable templates for pipeline configuration.', 'chapters': [{'end': 988.448, 'start': 810.348, 'title': 'Using multiple jobs for parallel testing', 'summary': 'Discusses the use of multiple jobs to run tests in parallel, reducing build time, while highlighting the benefits of pulumi for infrastructure as code and the support for azure native provider, and the shift towards docker images as artifacts in modern software development.', 'duration': 178.1, 'highlights': ['Pulumi provides infrastructure as code support for Azure platform with guaranteed same day support for Azure Native Provider, and integrates easily into any CI-CD platform. Pulumi offers infrastructure as code tool with support for Azure platform and Azure Native Provider with same day support, and seamless integration into CI-CD platforms.', 'Azure Artifacts supports storage of Maven packages, NuGet packages, and NPM packages, with a shift towards Docker images as artifacts in modern software development. Azure Artifacts supports storage of various package types, and reflects the shift towards using Docker images as artifacts in modern software development.', 'Using multiple jobs for parallel testing can reduce build time by allowing tests to run simultaneously, and creating the same container image type of artifacts for microservices in different languages. Utilizing multiple jobs for parallel testing reduces build time and allows for creation of the same container image type of artifacts for microservices in different languages.']}, {'end': 1209.14, 'start': 988.448, 'title': 'Azure devops ci-cd pipeline', 'summary': 'Discusses the concept of azure devops ci-cd pipeline, emphasizing the stages involved in the process, the use of docker images and registries, and the creation of reusable templates for pipeline configuration.', 'duration': 220.692, 'highlights': ['The CI-CD pipeline involves build and deploy stages, where the build pipeline produces Docker images and connects to repositories like Docker Hub or Azure Container Registry. The process involves storing Docker images in a repository such as Docker Hub, Azure Container Registry, etc., and the deployment stages are essential components of the CI-CD pipeline.', 'Intermediate environments are used for extensive testing before promoting the application to production, usually including development, testing, and production environments. Deploying to intermediate environments such as development, testing, and production is crucial for extensive testing before promotion to production.', 'The concept of templates in Azure DevOps allows the reuse of pipeline configuration logic for multiple applications and the creation of a hierarchy of reusable configuration files. Templates in Azure DevOps enable the reuse of pipeline configuration logic for multiple applications and the creation of a hierarchy of reusable configuration files, promoting efficiency and consistency.']}], 'duration': 398.792, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c810348.jpg', 'highlights': ['Pulumi provides infrastructure as code support for Azure platform with same day support for Azure Native Provider and seamless integration into CI-CD platforms.', 'Using multiple jobs for parallel testing reduces build time and allows for creation of the same container image type of artifacts for microservices in different languages.', 'Azure Artifacts supports storage of various package types and reflects the shift towards using Docker images as artifacts in modern software development.', 'The CI-CD pipeline involves build and deploy stages, with the build pipeline producing Docker images and connecting to repositories like Docker Hub or Azure Container Registry.', 'Intermediate environments such as development, testing, and production are crucial for extensive testing before promotion to production.', 'Templates in Azure DevOps enable the reuse of pipeline configuration logic for multiple applications and the creation of a hierarchy of reusable configuration files, promoting efficiency and consistency.']}, {'end': 1741.804, 'segs': [{'end': 1261.277, 'src': 'embed', 'start': 1233.347, 'weight': 1, 'content': [{'end': 1239.83, 'text': 'We can create environments in Azure DevOps, which will map to the actual deployment environments.', 'start': 1233.347, 'duration': 6.483}, {'end': 1245.552, 'text': 'And then you can configure in your pipeline, which of these Azure DevOps environments you want to deploy to.', 'start': 1240.43, 'duration': 5.122}, {'end': 1247.612, 'text': 'So you kind of have this abstraction there.', 'start': 1245.572, 'duration': 2.04}, {'end': 1254.795, 'text': 'And once the application gets deployed to these various environments, you can actually view the deployment history per environment.', 'start': 1248.092, 'duration': 6.703}, {'end': 1261.277, 'text': 'So this can actually be some additional valuable UI feature that gives you a better overview of your deployments.', 'start': 1254.815, 'duration': 6.462}], 'summary': 'Azure devops allows creation of environments for deployment, providing deployment history and ui overview.', 'duration': 27.93, 'max_score': 1233.347, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1233347.jpg'}, {'end': 1317.226, 'src': 'heatmap', 'start': 1266.278, 'weight': 0.933, 'content': [{'end': 1275.467, 'text': 'So you have that additional information for the feature or improvement to which stages or environments it has been deployed to already,', 'start': 1266.278, 'duration': 9.189}, {'end': 1277.109, 'text': 'which again can be pretty convenient.', 'start': 1275.467, 'duration': 1.642}, {'end': 1289.733, 'text': 'Now that deployment process or deployment part of the pipeline, which, as I said, is called CD or continuous deployment on Azure DevOps,', 'start': 1280.091, 'duration': 9.642}, {'end': 1294.194, 'text': 'can also be built as a separate pipeline called release pipeline.', 'start': 1289.733, 'duration': 4.461}, {'end': 1302.536, 'text': 'Interesting to note that many CI CD platforms like Jenkins, GitLab, CI CD, et cetera, they have one pipeline for the whole process.', 'start': 1294.654, 'duration': 7.882}, {'end': 1305.677, 'text': 'So we have one file and one UI unit for both.', 'start': 1303.076, 'duration': 2.601}, {'end': 1310.681, 'text': 'In this case, it will be split into separate CI and CD pipelines.', 'start': 1306.317, 'duration': 4.364}, {'end': 1317.226, 'text': 'So the way it works is that you select a build pipeline that produces an artifact,', 'start': 1311.301, 'duration': 5.925}], 'summary': 'Deployed feature information tracked. cd process can be separate from ci. jenkins, gitlab, et cetera have one pipeline for whole process, but azure devops allows separate ci and cd pipelines.', 'duration': 50.948, 'max_score': 1266.278, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1266278.jpg'}, {'end': 1305.677, 'src': 'embed', 'start': 1280.091, 'weight': 0, 'content': [{'end': 1289.733, 'text': 'Now that deployment process or deployment part of the pipeline, which, as I said, is called CD or continuous deployment on Azure DevOps,', 'start': 1280.091, 'duration': 9.642}, {'end': 1294.194, 'text': 'can also be built as a separate pipeline called release pipeline.', 'start': 1289.733, 'duration': 4.461}, {'end': 1302.536, 'text': 'Interesting to note that many CI CD platforms like Jenkins, GitLab, CI CD, et cetera, they have one pipeline for the whole process.', 'start': 1294.654, 'duration': 7.882}, {'end': 1305.677, 'text': 'So we have one file and one UI unit for both.', 'start': 1303.076, 'duration': 2.601}], 'summary': 'Azure devops offers separate release pipeline for continuous deployment, unlike other platforms with one pipeline for the whole process.', 'duration': 25.586, 'max_score': 1280.091, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1280091.jpg'}, {'end': 1440.965, 'src': 'embed', 'start': 1411.616, 'weight': 2, 'content': [{'end': 1414.498, 'text': 'And of course, the more complex the application, the more tests you need.', 'start': 1411.616, 'duration': 2.882}, {'end': 1419.481, 'text': 'So in Azure DevOps, you actually have a dedicated section for tests.', 'start': 1415.058, 'duration': 4.423}, {'end': 1431.536, 'text': 'and here you can actually create a unified central view of all the test cases or many of your test cases that need to be checked before giving a green light to production deployment.', 'start': 1420.101, 'duration': 11.435}, {'end': 1434.419, 'text': 'and here you can create manual test cases or plans.', 'start': 1431.536, 'duration': 2.883}, {'end': 1440.965, 'text': 'So when a new feature is being released, a tester can go through the steps and test the application.', 'start': 1435.08, 'duration': 5.885}], 'summary': 'In azure devops, a dedicated section for tests allows centralized management of test cases, aiding in ensuring production readiness.', 'duration': 29.349, 'max_score': 1411.616, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1411616.jpg'}, {'end': 1560.28, 'src': 'embed', 'start': 1533.184, 'weight': 4, 'content': [{'end': 1542.516, 'text': 'But the pipeline tasks themselves run on separate machines called agents, which are connected to the Azure DevOps services platform.', 'start': 1533.184, 'duration': 9.332}, {'end': 1549.256, 'text': 'Now who manages these agent machines? Well, Azure offers managed agents as well.', 'start': 1543.294, 'duration': 5.962}, {'end': 1557.519, 'text': 'So you can let Microsoft actually manage the whole setup for you, including the main service which holds the configuration,', 'start': 1549.696, 'duration': 7.823}, {'end': 1560.28, 'text': 'plus the machines that actually execute the pipelines.', 'start': 1557.519, 'duration': 2.761}], 'summary': 'Azure devops uses separate agents for pipeline tasks, and offers managed agents for entire setup.', 'duration': 27.096, 'max_score': 1533.184, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1533184.jpg'}, {'end': 1700.393, 'src': 'embed', 'start': 1675.777, 'weight': 3, 'content': [{'end': 1689.753, 'text': 'And normally you have credentials like username and password or access token from these platforms that you need to make available in Azure DevOps so that it can connect and authenticate itself Windows platforms.', 'start': 1675.777, 'duration': 13.976}, {'end': 1696.57, 'text': "Now for those use cases in Azure DevOps you have what's called service connections feature,", 'start': 1690.185, 'duration': 6.385}, {'end': 1700.393, 'text': 'which makes managing access to external platforms much easier.', 'start': 1696.57, 'duration': 3.823}], 'summary': 'Azure devops uses service connections for managing access to external platforms.', 'duration': 24.616, 'max_score': 1675.777, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1675777.jpg'}, {'end': 1709.681, 'src': 'heatmap', 'start': 1675.777, 'weight': 0.707, 'content': [{'end': 1689.753, 'text': 'And normally you have credentials like username and password or access token from these platforms that you need to make available in Azure DevOps so that it can connect and authenticate itself Windows platforms.', 'start': 1675.777, 'duration': 13.976}, {'end': 1696.57, 'text': "Now for those use cases in Azure DevOps you have what's called service connections feature,", 'start': 1690.185, 'duration': 6.385}, {'end': 1700.393, 'text': 'which makes managing access to external platforms much easier.', 'start': 1696.57, 'duration': 3.823}, {'end': 1704.056, 'text': "First of all, it's less configuration effort,", 'start': 1701.214, 'duration': 2.842}, {'end': 1709.681, 'text': "because you don't have to create these credentials in the respective service and then replicate in Azure DevOps.", 'start': 1704.056, 'duration': 5.625}], 'summary': 'Azure devops uses service connections for easier platform access, reducing configuration effort.', 'duration': 33.904, 'max_score': 1675.777, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1675777.jpg'}], 'start': 1212.318, 'title': 'Azure devops deployment and architecture overview', 'summary': 'Delves into azure devops deployment, covering creating deployment abstraction, viewing history, and linking status to tickets. it also discusses creating ci/cd pipelines, the importance of testing, and the centralized view of test cases. additionally, it explains the azure devops architecture, including services, managed and custom agents, and service connections for external platform access.', 'chapters': [{'end': 1492.075, 'start': 1212.318, 'title': 'Azure devops deployment and testing', 'summary': 'Explains how azure devops environments can be used to create a deployment abstraction, view deployment history, and link deployment status to original tickets. it also details the process of creating separate ci and cd pipelines in azure devops, along with the importance of testing and the centralized view of test cases.', 'duration': 279.757, 'highlights': ['Azure DevOps environments provide a deployment abstraction and allow viewing deployment history per environment. This feature enables a better overview of deployments and facilitates tracking the deployment status and history per environment, enhancing visibility and management.', 'The process of creating separate CI and CD pipelines in Azure DevOps is explained, highlighting the use of release pipelines for deploying existing artifacts. This approach emphasizes the distinction between CI and CD pipelines, with the ability to trigger release pipelines based on completion of build pipelines and the option to deploy existing artifacts from various sources.', 'The importance of testing and the centralized view of test cases in Azure DevOps is emphasized, including the ability to create manual or automated test cases and view test reports from the pipelines. This highlights the significance of comprehensive testing, the centralization of test cases, and the ability to view test reports, ultimately aiding in decision-making for releasing changes.']}, {'end': 1741.804, 'start': 1492.475, 'title': 'Azure devops architecture overview', 'summary': 'Explains the azure devops architecture, including the main azure devops services, the usage of managed and custom agent machines, and the service connections feature for managing access to external platforms.', 'duration': 249.329, 'highlights': ['Azure DevOps services include dedicated machines for configurations, pipelines, and repositories. The main part of Azure DevOps Services involves dedicated machines for configurations, pipelines, and repositories.', 'Pipeline tasks run on separate machines called agents, which can be managed by Azure or configured by the user for flexibility and cost-saving. Pipeline tasks run on separate machines called agents, which can be managed by Azure or configured by the user for flexibility and cost-saving.', 'Azure DevOps offers a free tier that includes a certain amount of free resources, including using managed agents for pipeline jobs. Azure DevOps offers a free tier that includes a certain amount of free resources, including using managed agents for pipeline jobs.', 'Service connections feature in Azure DevOps makes managing access to external platforms easier and more secure by using short-lived credentials. Service connections feature in Azure DevOps makes managing access to external platforms easier and more secure by using short-lived credentials.']}], 'duration': 529.486, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1212318.jpg', 'highlights': ['The process of creating separate CI and CD pipelines in Azure DevOps is explained, highlighting the use of release pipelines for deploying existing artifacts.', 'Azure DevOps environments provide a deployment abstraction and allow viewing deployment history per environment, enhancing visibility and management.', 'The importance of testing and the centralized view of test cases in Azure DevOps is emphasized, including the ability to create manual or automated test cases and view test reports from the pipelines.', 'Service connections feature in Azure DevOps makes managing access to external platforms easier and more secure by using short-lived credentials.', 'Pipeline tasks run on separate machines called agents, which can be managed by Azure or configured by the user for flexibility and cost-saving.']}, {'end': 2188.398, 'segs': [{'end': 1844.46, 'src': 'embed', 'start': 1814.009, 'weight': 0, 'content': [{'end': 1820.15, 'text': 'But Azure DevOps actually strives to be the complete DevOps platform, not only the CI CD.', 'start': 1814.009, 'duration': 6.141}, {'end': 1829.973, 'text': 'So any feature you need for covering the whole DevOps process, including the CI CD, is in one place, which can be extremely convenient, as I said,', 'start': 1820.61, 'duration': 9.363}, {'end': 1834.434, 'text': 'because in DevOps you need multiple tools for different parts of the process.', 'start': 1829.973, 'duration': 4.461}, {'end': 1844.46, 'text': 'like Jenkins for build, code repository, Jira board, artifact repository, et cetera, which means you need to integrate these tools together.', 'start': 1835.174, 'duration': 9.286}], 'summary': 'Azure devops is a complete platform, encompassing ci/cd and other devops features, streamlining multiple tools into one place.', 'duration': 30.451, 'max_score': 1814.009, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1814009.jpg'}, {'end': 1927.181, 'src': 'embed', 'start': 1900.987, 'weight': 1, 'content': [{'end': 1908.413, 'text': 'And to be honest, many of the features and use cases are pretty similar between GitLab and Azure DevOps, or generally how the things work.', 'start': 1900.987, 'duration': 7.426}, {'end': 1917.877, 'text': "And if you're interested, I actually have a crash course as well as full course on GitLab CI City for building complete DevOps processes with it.", 'start': 1909.333, 'duration': 8.544}, {'end': 1920.418, 'text': 'You can also compare it with AWS.', 'start': 1918.617, 'duration': 1.801}, {'end': 1927.181, 'text': 'However, AWS is way bigger and way more encompassing than just the DevOps processes.', 'start': 1920.738, 'duration': 6.443}], 'summary': 'Gitlab and azure devops have similar features and use cases. aws is bigger and more encompassing than just devops processes.', 'duration': 26.194, 'max_score': 1900.987, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1900987.jpg'}, {'end': 2075.926, 'src': 'embed', 'start': 2053.411, 'weight': 2, 'content': [{'end': 2061.216, 'text': 'However, in terms of cloud technologies or cloud platforms, AWS is still the winner and number one in this category.', 'start': 2053.411, 'duration': 7.805}, {'end': 2070.783, 'text': 'And, on the other end, in terms of the CI CD tools themselves, usually the open source solutions like GitLab, CI CD or Jenkins,', 'start': 2061.235, 'duration': 9.548}, {'end': 2071.984, 'text': 'et cetera are preferred.', 'start': 2070.783, 'duration': 1.201}, {'end': 2075.926, 'text': 'rather than using proprietary services like Azure DevOps.', 'start': 2072.784, 'duration': 3.142}], 'summary': 'Aws is the top cloud platform; open source ci/cd tools like gitlab and jenkins are preferred over azure devops.', 'duration': 22.515, 'max_score': 2053.411, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c2053411.jpg'}], 'start': 1742.404, 'title': 'Azure devops features', 'summary': 'Explores azure devops features, compares it with jenkins, gitlab, and aws, and discusses its relevance in azure and aws integration, emphasizing industry preference for open source solutions like gitlab, ci/cd, and jenkins.', 'chapters': [{'end': 2188.398, 'start': 1742.404, 'title': 'Azure devops: features, comparison, and use cases', 'summary': 'Explores the features of azure devops, comparing it with other similar platforms like jenkins, gitlab, and aws, and discusses its relevance in the context of azure and aws integration, as well as its adoption in companies. notably, it emphasizes the preference for open source solutions like gitlab, ci/cd, and jenkins in the industry.', 'duration': 445.994, 'highlights': ['Azure DevOps offers a complete DevOps platform, encompassing all features needed for the entire DevOps process, including CI/CD, which provides convenience and better traceability compared to having multiple tools integrated together. Azure DevOps provides convenience and better traceability by offering all features needed for the entire DevOps process in one place, including CI/CD, thus eliminating the need for integrating multiple tools.', 'Azure DevOps and GitLab share similar features and use cases, highlighting the competition and similarities between the two platforms in terms of functionality and workflow. Azure DevOps and GitLab share similar features and use cases, indicating competition and similarities in functionality and workflow between the two platforms.', 'Companies using Azure platform or Microsoft services tend to use Azure DevOps, while AWS remains the leading cloud platform, and open source solutions like GitLab, CI/CD, and Jenkins are preferred over proprietary services like Azure DevOps for CI/CD tools. Companies using Azure platform or Microsoft services tend to use Azure DevOps, while AWS remains the leading cloud platform. Open source solutions like GitLab, CI/CD, and Jenkins are preferred over proprietary services like Azure DevOps for CI/CD tools.']}], 'duration': 445.994, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/4BibQ69MD8c/pics/4BibQ69MD8c1742404.jpg', 'highlights': ['Azure DevOps offers a complete DevOps platform, encompassing all features needed for the entire DevOps process, including CI/CD, providing convenience and better traceability compared to multiple integrated tools.', 'Azure DevOps and GitLab share similar features and use cases, highlighting the competition and similarities between the two platforms in terms of functionality and workflow.', 'Companies using Azure platform or Microsoft services tend to use Azure DevOps, while AWS remains the leading cloud platform. Open source solutions like GitLab, CI/CD, and Jenkins are preferred over proprietary services like Azure DevOps for CI/CD tools.']}], 'highlights': ['Azure DevOps is a one-stop shop for implementing all DevOps processes for a project. It is a software as a service offering created to be a comprehensive solution for DevOps processes, streamlining project implementation.', 'Azure DevOps is a popular DevOps platform that offers a range of features and use cases for software development projects, providing an overview of what engineers can do with it and its relevance in the engineering field.', 'Azure DevOps is a technological implementation covering the entire software development lifecycle. It encompasses features for each part of the software development lifecycle, offering a comprehensive solution for efficient workflow implementation.', 'Azure DevOps provides support for implementing different workflows, such as Agile and Scrum, for project development.', 'Developers can utilize Azure Repository as a comprehensive platform for hosting code, incorporating essential Git workflow elements such as pull requests, branches, and collaboration features.', 'Azure Pipelines Section is used to build the CI pipeline, written in YAML, with main building blocks as steps.', 'Pulumi provides infrastructure as code support for Azure platform with same day support for Azure Native Provider and seamless integration into CI-CD platforms.', 'Using multiple jobs for parallel testing reduces build time and allows for creation of the same container image type of artifacts for microservices in different languages.', 'The process of creating separate CI and CD pipelines in Azure DevOps is explained, highlighting the use of release pipelines for deploying existing artifacts.', 'Azure DevOps environments provide a deployment abstraction and allow viewing deployment history per environment, enhancing visibility and management.', 'Azure DevOps offers a complete DevOps platform, encompassing all features needed for the entire DevOps process, including CI/CD, providing convenience and better traceability compared to multiple integrated tools.']}