This blog post will go through some quick tips, including Q/A and related blog posts on the topics that we covered in the Azure DevOps Engineer Day 3 Live Session, which will help you gain a better understanding and make it easier for you to learn the Azure DevOps Engineer, clear the [AZ400] Certification & get a better-paid job.
This week’s Day 3 Live Session started with Module 3- Implement Continuous Integration and Module 4- Implement Dependency Management. We covered topics like Continuous Integration, Implementing a Build Strategy, Designing a Dependency Management Strategy.
The previous week, In Day 2 session, we got an overview of concepts of What Source Control is, Benefits & Types of Source Control, Azure Repos, Migrating from TFVC to Git, Collaborating with Pull Requests, Git Hooks, Git Versioning.
A week before, In Day 1 session, we got an overview of DevOps, Components that form DevOps, DevOps Work Items, Azure DevOps and Azure Boards.
Repository
The Repository is a space or place where generally a developer stores the code and appropriately manages the code with proper version control.
Azure Repo is also a kind of Repository. Azure Repos is a combination of a version control tool that helps to manage code. There are mainly 2 Version Control Tool that Azure Repo provides, Git and Team Foundation Version Control.
Where Git is Distributed Version Control, and TFVC is Centralized Version Control System.
NuGet package is an individual ZIP file with the .nupkg extension that holds compiled code (DLLs), other files associated with that code, and a detailed manifest that includes data like the package’s version number.
Developers with code to share, build packages and distribute them to a public or private host. Package consumers get these packages from suitable hosts, combine them with their projects, and then call a package’s functionality in their project code. NuGet itself then manages all of the intermediate details.
Question 1: How does Package interact with code repo like Github or Azure Repo?
Answer:The Packages are kept ready in the DevOps Environment, and the Developer will take the Package from the DevOps environment, develop the code in their personal computer and then commit the code to GitHub. And packages also get committed with the code in Git because the packages get packed with the Source Code.
Answer: Which type of package gets pushed is dependent on the kind of Feed you want to connect to. It is dll for .Net Feed, .nupkg is for the NuGet Package, and like this, every package has different extensions.
NuGet
NuGet is the package handler for .NET. It allows developers to create, distribute, and utilize useful .NET libraries. NuGet client tools give the ability to produce and utilize these libraries as “packages.” Visual Studio is the commonly used tool for NuGet Package.
Question 3: What if this custom package has a dependency on some other NuGet packages?
Answer: If there is a dependency on another package, then you have to install both Packages. When you are installing the Package, it’ll show an error that there is a dependency on another package or install another package before installing it.
Sometimes, all the dependent packages get installed automatically when you install the package; a common example is Visual Studio.
Azure Artifact
Azure Artifacts helps to make your workflow seamless with deeply integrated package management and lets you create and share Maven, npm, NuGet, and Python package feeds from public and private sources. Your packages are protected as Azure Artifacts keeps all your public packages safe in your feed.
Artifacts Feeds are organizational constructs that allow you to store, manage, and group your packages and control who to share it with. Feeds are not package-type dependent. You can store all the following package types in a single feed: npm, NuGet, Maven, Python, and Universal packages.
In Public feeds, you can share your packages publicly with anyone on the Internet. Anyone who isn’t part of your organization can also access the package, and also they don’t need to have an Azure DevOps Account to access the package.
Question 4: Is Artifactory a private or public Package feed?
Answer: Artifactory is a self-hosted private feed of Maven Package Type.
Self-hosted private feeds are those feeds that are managed on a personal server.
Question 5: Does Public Package mean it is open source?
Answer: No, the Public Package does not mean that it’s an open-source package. The Public Package is packaged accessible to everyone, they can read the package and download it, but they can’t see the source code used to create it.
Question 6: As DevOps engineers, are we responsible for identifying the package, or will it be done by the software engineer or the solution architect?
Answer: The developer is the person who identifies the package, builds the package. As a DevOps Engineer, you need to provide an environment where the Developer can build, manage and version the packages. As a DevOps Team member, your responsibility is to provide required apps/tools to developers when creating a package and managing it.
Question 7: Packages built based on OS / Framework dependencies?
Answer: Yes, the Packages build based on OS / Framework dependencies because all the packages can’t run on every available platform.
Question 8: Which Visual Studio ( trial or community version) for a personal laptop?
Answer: For Learning and personal use, you should use the Community version as it’s free to use, and it also provides many features of the Visual Studio Professional Version and Enterprise Version.
The Community version of Visual Studio is primarily designed for students, any open-source projects, academic usage, individual developers who don’t want to purchase a subscription for Visual Studio.
Answer: IDE Clone is an option by which you can clone your Repo in your Integrated Development Environment, i.e., Visual Studio/ Visual Studio Code/ Android Studio. IDE is a software development tool in which developers develop their code, publish, manage and do all the other software development tasks.
Question 10: Does Continuous Deployment and Continuous Release both are the same?
Answer: Continuous Release is not the proper term in Azure Pipeline; the correct term is Continuous Deployment.
Continuous Delivery is a software development practice where you build software to be released to production at any time. The benefit of continuous delivery is that the code is ready to deploy at all times. The Quality Assurance team tests if each feature is working or not, and then they manually deploy it to production on-demand. So, every change is not deployed to production.
Continuous deployment means that every change you make goes through the pipeline, and if it passes all the tests, it automatically gets released or deployed into production.
Microsoft Azure Pipelines is a cloud service that you can utilize to build, test, and deploy your code project automatically. You can also make it feasible for other users. And it operates with just about any language or project type.
Question 12: Why were NuGet and NuGet restore used in the Job?
Answer: We have used a .Net Framework Solution to compile a .Net Framework; NuGet is required. We have also selected an ASP. Net Template, to build a solution, these packages are required in the Pipeline and the Agent to run the Pipeline. And when you do a compilation of Pipeline, NuGet Restore will take place.
Quiz Time (Sample Exam Questions)!
With our Microsoft Azure DevOps training program, we cover 150+ sample exam questions to help you prepare for the certification AZ-400.
Check out one of the questions and see if you can crack this…
Question-
Which of the following can be applied to ensure that the application does not get promoted to the next stage in the pipeline if it has active bugs assigned to it?
A. Creating a trigger
B. Creating a deployment gate
C. Creating a pre-deployment approval
D. Creating a post-deployment approval
The right answer will be revealed in my next week’s email.
Here is the answer to the question shared last week (Scroll down at the end of this post for the question).
Question- Your company uses Azure DevOps for the management of build and release pipelines for applications. A Git repository is used for application source control. You have to implement a pull request strategy that reduces the history volume in the master branch.
You decide to implement a pull request strategy that uses fast-forward merges.
Would this fulfill the requirement?
A. Yes
B. No
Answer: A
Explanation: Yes, this can be used to reduce the history volume. Here the new commit will not store the combined history.
In our Microsoft Azure DevOps Engineer Certification Training Program, we’ll cover 21 Hands-On Labs. If you wish to start your journey towards becoming a Microsoft Certified Azure DevOps Engineer, try our FREE CLASS.