AZ-400 : Microsoft Azure DevOps Solutions : Part 08
-
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You integrate a cloud-hosted Jenkins server and a new Azure DevOps deployment.
You need Azure DevOps to send a notification to Jenkins when a developer commits changes to a branch in Azure Repos.
Solution: You add a trigger to the build pipeline.
Does this meet the goal?
- Yes
- No
Explanation:
You can create a service hook for Azure DevOps Services and TFS with Jenkins. -
You plan to create in Azure DevOps. Multiple developers will work on the project. The developers will work offline frequently and will require access to the full project history while they are offline.
Which version control solution should you use?
- Team Foundation Version Control
- Git
- TortoiseSVN
- Subversion
Explanation:Git history: File history is replicated on the client dev machine and can be viewed even when not connected to the server. You can view history in Visual Studio and on the web portal.
Note: Azure Repos supports two types of version control: Git and Team Foundation Version Control (TFVC).
Incorrect Answers:
A: Team Foundation Version Control: File history is not replicated on the client dev machine and so can be viewed only when you’re connected to the server. -
You plan to onboard 10 new developers.
You need to recommend a development environment that meets the following requirements:
– Integrates with GitHub
– Provides integrated debugging tools
– Supports remote workers and hot-desking environments
– Supports developers who use browsers, tablets, and ChromebooksWhat should you recommend?
- VS Code
- Xamarin Studio
- MonoDevelop
- Visual Studio Codespaces
Explanation:Visual Studio Codespaces is built to accommodate the widest variety of projects or tasks, including GitHub and integrating debugging.
Visual Studio Codespaces conceptually and technically extends the Visual Studio Code Remote Development extensions.
In addition to “backend” environments, Visual Studio Codespaces supports these “frontend” editors:
– Visual Studio Code
– Visual Studio Code-based editor in the browser -
You have a build pipeline in Azure Pipelines.
You create a Slack App Integration.
You need to send build notifications to a Slack channel named #Development.
What should you do first?
- Create a project-level notification.
- Configure a service connection.
- Create a global notification.
- Creates a service hook subscription.
Explanation:Create a service hook for Azure DevOps with Slack to post messages to Slack in response to events in your Azure DevOps organization, such as completed builds, code changes, pull requests, releases, work items changes, and more.
Note:
1. Go to your project Service Hooks page:
https://{orgName}/{project_name}/_settings/serviceHooks
Select Create Subscription.
2. Choose the types of events you want to appear in your Slack channel.
3. Paste the Web Hook URL from the Slack integration that you created and select Finish.
4. Now, when the event you configured occurs in your project, a notification appears in your team’s Slack channel. -
You have an Azure DevOps organization named Contoso and an Azure subscription.
You use Azure DevOps to build and deploy a web app named App1. Azure Monitor is configured to generate an email notification in response to alerts generated whenever App1 generates a server-side error.
You need to receive notifications in Microsoft Teams whenever an Azure Monitor alert is generated.
Which two actions should you perform? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
- Create an Azure Monitor workbook.
- Create an Azure logic app that has an HTTP request trigger.
- Create an Azure logic app that has an Azure DevOps trigger.
- Modify an action group in Azure Monitor.
- Modify the Diagnostics settings in Azure Monitor.
-
HOTSPOT
Your company uses Azure DevOps for Git source control.
You have a project in Azure DevOps named Contoso App that contains the following repositories:
– https://dev.azure.com/contoso/contoso-app/core-api
– https://dev.azure.com/contoso/contoso-app/core-spa
– https://dev.azure.com/contoso/contoso-app/core-dbYou need to ensure that developers receive Slack notifications when there are pull requests created for Contoso App.
What should you run in Slack? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Explanation:Box 1: subscribe
To start monitoring all Git repositories in a project, use the following slash command inside a channel:/azrepos subscribe [project url]
Box 2: https://dev.azure.com/contoso/contoso-app
You can also monitor a specific repository using the following command:/azrepos subscribe [repository url]
The repository URL can be to any page within your repository that has your repository name.For example, for Git repositories, use:
/azrepos subscribe https://dev.azure.com/myorg/myproject/_git/myrepository
-
You have an Azure DevOps organization that contains a project named Project1.
You need to create a published wiki in Project1.
What should you do first?
- Modify the Storage settings of Project1.
- In Project1, create an Azure DevOps pipeline.
- In Project1, create an Azure DevOps repository.
- Modify the Team configuration settings of Project1.
-
Your company plans to use an agile approach to software development.
You need to recommend an application to provide communication between members of the development team who work in locations around the world. The applications must meet the following requirements:
– Provide the ability to isolate the members of different project teams into separate communication channels and to keep a history of the chats within those channels.
– Be available on Windows 10, Mac OS, iOS, and Android operating systems.
– Provide the ability to add external contractors and suppliers to projects.
– Integrate directly with Azure DevOps.What should you recommend?
- Microsoft Project
- Bamboo
- Microsoft Lync
- Microsoft Teams
Explanation:– Within each team, users can create different channels to organize their communications by topic. Each channel can include a couple of users or scale to thousands of users.
– Microsoft Teams works on Android, iOS, Mac and Windows systems and devices. It also works in Chrome, Firefox, Internet Explorer 11 and Microsoft Edge web browsers.
– The guest-access feature in Microsoft Teams allows users to invite people outside their organizations to join internal channels for messaging, meetings and file sharing. This capability helps to facilitate business-to-business project management.
– Teams integrates with Azure DevOps.Note: Slack would also be a correct answer, but it is not an option here.
-
You are developing a multi-tier application. The application will use Azure App Service web apps as the front end and an Azure SQL database as the back end. The application will use Azure functions to write some data to Azure Storage.
You need to send the Azure DevOps team an email message when the front end fails to return a status code of 200.
Which feature should you use?
- Service Map in Azure Log Analytics
- availability tests in Azure Application Insights
- Profiler in Azure Application Insights
- Application Map in Azure Application Insights
Explanation:Application Map helps you spot performance bottlenecks or failure hotspots across all components of your distributed application. Each node on the map represents an application component or its dependencies; and has health KPI and alerts status.
Incorrect Answers:
A: Service Map automatically discovers application components on Windows and Linux systems and maps the communication between services. You can use it to view your servers as you think of them–interconnected systems that deliver critical services. Service Map shows connections between servers, processes, and ports across any TCP-connected architecture with no configuration required, other than installation of an agent. -
You have a project in Azure DevOps named Project1. Project1 contains a published wiki.
You need to change the order of pages in the navigation pane of the published wiki in the Azure DevOps portal.
What should you do?
- At the root of the wiki, create a file named .order that defines the page hierarchy.
- At the root of the wiki, create a file named wiki.md that defines the page hierarchy.
- Rename the pages in the navigation pane.
- Drag and drop the pages in the navigation pane.
Explanation:
Reorder a wiki page
You can reorder pages within the wiki tree view to have pages appear in the order and hierarchy you want. You can drag-and-drop a page title in the tree view to do the following operations:
– Change the parent-child relationship of a page
– Change the order of the page within the hierarchy -
DRAG DROP
You have a GitHub organization named org1 and an Azure tenant named Tenant1.
You need to enable single sign-on (SSO) in Azure Active Directory (Azure AD) for the users in org1.
Which URIs should you use for the SAML configuration in Azure AD? To answer, drag the appropriate URIs to the correct settings. Each URI may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
- This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.
To start the case study
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.Overview
General Overview
Woodgrove Bank is a financial services company that has a main office in the United Kingdom.
Technical Requirements and Planned Changes
Planned Changes
Woodgrove Bank plans to implement the following project management changes:
– Implement Azure DevOps for project tracking.
– Centralize source code control in private GitHub repositories.
– Implement Azure Pipelines for build pipelines and release pipelines.Woodgrove Bank plans to implement the following changes to the identity environment:
– Deploy an Azure AD tenant named woodgrovebank.com.
– Sync the Active Directory domain to Azure AD.
– Configure App1 to use a service principal.
– Integrate GitHub with Azure AD.Woodgrove Bank plans to implement the following changes to the core apps:
– Migrate App1 to ASP.NET Core.
– Integrate Azure Pipelines and the third-party build tool used to develop App2.Woodgrove Bank plans to implement the following changes to the DevOps environment:
– Deploy App1 to Azure App Service.
– Implement source control for the DB1 schema.
– Migrate all the source code from TFS1 to GitHub.
– Deploy App2 to an Azure virtual machine named VM1.
– Merge the POC branch into the GitHub default branch.
– Implement an Azure DevOps dashboard for stakeholders to monitor development progress.Technical Requirements
Woodgrove Bank identifies the following technical requirements:
The initial databases for new environments must contain both schema and reference data.
– An Azure Monitor alert for VM1 must be configured to meet the following requirements:– Be triggered when average CPU usage exceeds 80 percent for 15 minutes.
– Calculate CPU usage averages once every minute.
– The commit history of the POC branch must replace the history of the default branch.
– The Azure DevOps dashboard must display the metrics shown in the following table:– Access to Azure DevOps must be restricted to specific IP addresses.
– Page load times for App1 must be captured and monitored.
– Administrative effort must be minimized.-
You need to perform the GitHub code migration. The solution must support the planned changes for the DevOps environment.
What should you use?
- git clone
- GitHub Importer
- Import repository in Azure Repos
- git-tfs
Explanation:Woodgrove Bank plans to implement the following changes to the DevOps environment:
– Migrate all the source code from TFS1 to GitHub.The Git-TFS tool is a two-way bridge between Team Foundation Version Control and Git, and can be used to perform a migration.
-
-
You store source code in a Git repository in Azure Repos. You use a third-party continuous integration (CI) tool to control builds.
What will Azure DevOps use to authenticate with the tool?
- certificate authentication
- a personal access token (PAT)
- a Shared Access Signature (SAS) token
- NTLM authentication
Explanation:
Personal access tokens (PATs) give you access to Azure DevOps and Team Foundation Server (TFS), without using your username and password directly. -
DRAG DROP
You are configuring Azure Pipelines for three projects in Azure DevOps as shown in the following table.
Which version control system should you recommend for each project? To answer, drag the appropriate version control systems to the correct projects. Each version control system may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Explanation:Project1:Git in Azure Repos
Project2: Github Enterprise
GitHub Enterprise is the on-premises version of GitHub.com. GitHub Enterprise includes the same great set of features as GitHub.com but packaged for running on your organization’s local network. All repository data is stored on machines that you control, and access is integrated with your organization’s authentication system (LDAP, SAML, or CAS).Project3: Bitbucket cloud
One downside, however, is that Bitubucket does not include support for SVN but this can be easily amended migrating the SVN repos to Git with tools such as SVN Mirror for Bitbucket .Note: SVN is a centralized version control system.
Incorrect Answers:
Bitbucket:
Bitbucket comes as a distributed version control system based on Git.Note: A source control system, also called a version control system, allows developers to collaborate on code and track changes. Source control is an essential tool for multi-developer projects.
Our systems support two types of source control: Git (distributed) and Team Foundation Version Control (TFVC). TFVC is a centralized, client-server system. In both Git and TFVC, you can check in files and organize files in folders, branches, and repositories.
-
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You need to recommend an integration strategy for the build process of a Java application. The solution must meet the following requirements:
– The builds must access an on-premises dependency management system.
– The build outputs must be stored as Server artifacts in Azure DevOps.
– The source code must be stored in a Git repository in Azure DevOps.Solution: Configure an Octopus Tentacle on an on-premises machine. Use the Package Application task in the build pipeline.
Does this meet the goal?
- Yes
- No
Explanation:Octopus Deploy is an automated deployment server that makes it easy to automate deployment of ASP.NET web applications, Java applications, NodeJS application and custom scripts to multiple environments.
Octopus can be installed on various platforms including Windows, Mac and Linux. It can also be integrated with most version control tools including VSTS and GIT.
When you deploy software to Windows servers, you need to install Tentacle, a lightweight agent service, on your Windows servers so they can communicate with the Octopus server.
When defining your deployment process, the most common step type will be a package step. This step deploys your packaged application onto one or more deployment targets.
When deploying a package you will need to select the machine role that the package will be deployed to.
-
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You need to recommend an integration strategy for the build process of a Java application. The solution must meet the following requirements:
– The builds must access an on-premises dependency management system.
– The build outputs must be stored as Server artifacts in Azure DevOps.
– The source code must be stored in a Git repository in Azure DevOps.Solution: Install and configure a self-hosted build agent on an on-premises machine. Configure the build pipeline to use the Default agent pool. Include the Java Tool Installer task in the build pipeline.
Does this meet the goal?
- Yes
- No
Explanation:
Instead use Octopus Tentacle. -
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You need to recommend an integration strategy for the build process of a Java application. The solution must meet the following requirements:
– The builds must access an on-premises dependency management system.
– The build outputs must be stored as Server artifacts in Azure DevOps.
– The source code must be stored in a Git repository in Azure DevOps.Solution: Configure the build pipeline to use a Hosted VS 2019 agent pool. Include the Java Tool Installer task in the build pipeline.
Does this meet the goal?
- Yes
- No
Explanation:
Instead use Octopus Tentacle. -
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result, these questions will not appear in the review screen.
You need to recommend an integration strategy for the build process of a Java application. The solution must meet the following requirements:
– The builds must access an on-premises dependency management system.
– The build outputs must be stored as Server artifacts in Azure DevOps.
– The source code must be stored in a Git repository in Azure DevOps.Solution: Configure the build pipeline to use a Hosted Ubuntu agent pool. Include the Java Tool Installer task in the build pipeline.
Does this meet the goal?
- Yes
- No
Explanation:
Instead use Octopus Tentacle. -
Your company uses a Git repository in Azure Repos to manage the source code of a web application. The master branch is protected from direct updates. Developers work on new features in the topic branches.
Because of the high volume of requested features, it is difficult to follow the history of the changes to the master branch.
You need to enforce a pull request merge strategy. The strategy must meet the following requirements:
– Consolidate commit histories.
– Merge the changes into a single commit.Which merge strategy should you use in the branch policy?
- squash merge
- fast-forward merge
- Git fetch
- no-fast-forward merge
Explanation:Squash merging is a merge option that allows you to condense the Git history of topic branches when you complete a pull request. Instead of each commit on the topic branch being added to the history of the default branch, a squash merge takes all the file changes and adds them to a single new commit on the default branch.
A simple way to think about this is that squash merge gives you just the file changes, and a regular merge gives you the file changes and the commit history.
Note: Squash merging keeps your default branch histories clean and easy to follow without demanding any workflow changes on your team. Contributors to the topic branch work how they want in the topic branch, and the default branches keep a linear history through the use of squash merges. The commit history of a master branch updated with squash merges will have one commit for each merged branch. You can step through this history commit by commit to find out exactly when work was done.
-
Your company uses cloud-hosted Jenkins for builds.
You need to ensure that Jenkins can retrieve source code from Azure Repos.
Which three actions should you perform? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
- Create a webhook in Jenkins.
- Add the Team Foundation Server (TFS) plug-in to Jenkins.
- Add a personal access token to your Jenkins account.
- Create a personal access token (PAT) in your Azure DevOps account.
- Create a service hook in Azure DevOps.
Explanation:B: Jenkins requires a plug-in to connect to TFS and check for updates to a project.
Jenkins’ built-in Git Plugin or Team Foundation Server Plugin can poll a Team Services repository every few minutes and queue a job when changes are detected.C: Use Azure DevOps/ Visual Studio Team Services to create a Personal access token.
D: After you have generated credentials using Visual Studio Team Services, you need to use those credentials in Jenkins.