Design and implement source control Flashcards

1
Q

What percent of the total exam questions are dedicated to this subject?

A

15% to 20%

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is Azure DevOps Server?

A

Previously known as Team Foundation Server (TFS), Azure DevOps Server is a set of collaborative software development tools, hosted on-premises. Azure DevOps Server integrates with your existing IDE or editor, enabling your cross-functional team to work effectively on projects of all sizes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Team Foundation Version Control (TFVC)?

A

TFVC is Azures answer to providing centralised version control as a service.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the key features of Git?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the pros and cons of choosing one large repo to store code (a monorepo) and separating code in to various smaller yet depend repos?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the pros and cons of using Personal Access Tokens Vs. SSH authentiction?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How should the existence of large files influence your version control strategy?

A

Large files are generally not text, meaning they are not diffable and a minor change to one will require that the whole file is updated in git every time (no such thing as change delta with large, binary files).

Consider using Git LFS (large file system) when you’re dealing with more than a handfull of large files under version control. It creates a virtual filesystem and helps to avoid unecessarily version control syncronisation actions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the difference between Git submodules and Azure Artifacts?

A

Git submodules are placeholders placed in a directory under version control which on certain git operations will clone other git repositories in its place. This is a way to enable a multiple repository approach while working in a way approximating how you would work with a monorepo.

Azure artifacts is an Azure package server service, so builds can be pushed to it and pulled from it as part of build and install scripts respectively.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are GitHooks?

A

GitHooks are a client side event system (though technically there are server side hooks we’re only ever really using the client side hooks) which trigger an action given a specific event.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the classic branch strategies used when working on a code base?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What policies can be set to manage the pull request process?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How can the merging or pull requests be configured to enable/ disable certain actions on certain branches?

A

Branch policies:

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

How can Azure pipelines be use if the code base is on Github?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How can permission be granted to a user to access a repository (either in the native Azure repos or in a linked Github repository)?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is function of git tags (either in Azure Repos or Github?)

A

Tags are generally used to link a git commit to something else like a work item or a release however they can also be used to trigger an event.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How can we recover from an accidental repository deletion?

A
  1. To check whether the repo was soft deleted, an API call can return a list of repos in the recycle bin.
  2. If the deletion is a soft deletion and the repo is still in the recycle bin of the server, we can actually trigger its restoration using an API call.
  3. There is a UI strategy to restore a deleted branch
17
Q

How can an accidental commit a repository be corrected?

A

Using the git-filter-repo tool or BFG repo-cleaner

18
Q

What are the parts of a basic CD pipeline?

A

A basic CD pipeline contains a trigger to get the process going and at least one stage, or deployment phase. A stage is made up of jobs. A job is a series of steps that defines how to build, test, or deploy your application.

19
Q

What are some types of environment that can be deployed to?

A
  • A physical machine or virtual machine (VM).
  • A containerized environment, such as Kubernetes.
  • A managed service, such as Azure App Service.
  • A serverless environment, such as Azure Functions.

Azure Pipelines environment records the deployment history to help you identify the source of changes. By using Azure Pipelines environments, you can also define security checks and ways to control how an artifact is promoted from one stage of a pipeline to another.

20
Q

service principal Vs. Managed identities

A

A service principal is an identity with a limited role that can access Azure resources. Think of a service principal as a service account that can do automated tasks on your behalf.

Managed identities for Azure resources are a feature of Microsoft Entra ID that simplifies the process of working with service principals. Because managed identities exist on the Microsoft Entra tenant, Azure infrastructure can automatically authenticate the service and manage the account for you.

Managed identities simplify the process of working with service principals; but in this module, we’ll be using service principal authentication because a service connection can automatically discover your Azure resources and assign the appropriate service principal roles for you.

21
Q

What is CI?

A

Continuous integration is used to automate tests and builds for your project. CI helps to catch bugs or issues early in the development cycle when they’re easier and faster to fix. Items known as artifacts are produced from CI systems. The continuous delivery release pipelines use them to drive automatic deployments.

22
Q

What is CD?

A

Continuous delivery is used to automatically deploy and test code in multiple stages to help drive quality. Continuous integration systems produce deployable artifacts, which include infrastructure and apps. Automated release pipelines consume these artifacts to release new versions and fixes to the target of your choice.

23
Q

Describe the basic work items process.

A

Choose Basic when your team wants the simplest model that uses Issues, Tasks, and Epics to track work.

Tasks support tracking Remaining Work.

24
Q

Describe the agile work items process.

A

Choose Agile when your team uses Agile planning methods, including Scrum, and tracks development and test activities separately. This process works great if you want to track user stories and (optionally) bugs on the Kanban board, or track bugs and tasks on the taskboard.

You can learn more about Agile methodologies at the Agile Alliance.

Tasks support tracking Original Estimate, Remaining Work, and Completed Work.

25
Q

Describe the scrum work items process.

A

Choose Scrum when your team practices Scrum. This process works great for tracking product backlog items (PBIs) and bugs on the Kanban board. You can also break down PBIs and bugs into tasks on the taskboard.

This process supports the Scrum methodology as defined by the Scrum organization.

Tasks support tracking remaining work only.

26
Q

Describe the CMMI work items process.

A

Choose CMMI when your team follows more formal project methods that require a framework for process improvement and an auditable record of decisions. With this process, you can track requirements, change requests, risks, and reviews.

This process supports formal change management activities. Tasks support tracking Original Estimate, Remaining Work, and Completed Work.

27
Q
A