Continuous Integration Techniques (8% Weighting) Flashcards
Given a complex customer scenario ability, identify the appropriate use of source control, automated test, and deployment tools and demonstrate the ability to articulate the process involved
Which of the following outcomes can be realized by teams who do not use version control?
A. Overwriting changes made by other users
B. Corruption of shared file servers
C. Deployment failures
D. Merge conflicts
A. Overwriting changes made by other users
How does version control ease the burden of collaboration among team members?
A. Maintaining regular backups of team member’s laptops
B. Enforcing strict rules and processes on team members
C. Provides a one-size-fits-all solution for teams to collaborate
D. Provides a way to organize work from many team members
D. Provides a way to organize work from many team members
GitHub enhances collaboration in teams by:
A. Providing a group chat functionality
B. Providing visibility into the team’s work and the ability to review code
C. Providing the ability to share screens
D. Providing a toll-free number to use for web meetings
B. Providing visibility into the team’s work and the ability to review code
What is the main difference between GIT and GitHub?
Git is a version control application
GitHub is a collaboration Platform
What is the key relationship between Git and GitHub?
A. Git is a VCS. GitHub is a collaboration platform that is built on top of Git
B. GitHub is Git for teams
C. Git and GitHub are the same product, but with slightly different names based on whether you use it locally or through a web browser.
D. GitHub is the graphical user interface for Git, but it has identical functionality
A. Git is a VCS. GitHub is a collaboration platform that is built on top of Git
Which of the following is considered an essential tool in the modern developer’s toolkit?
A. A shared drive for maintaining backups of project versions
B. A Flash drive for sharing files with team members
C. Continuous integration
D. A backup strategy for compiled versions of your project
C. Continuous integration
GitHub helps you customize your workflows with:
A. A growing list of integration partners like Waffle.io and ZenHub
B. A built-in lightweight project management solution
C. The ability to integrate with continuous integration and continuous deployment applications
D. All of the above
D. All of the above
Where can you view the files within a repository on GitHub?
A. Code tab
B. Issues tab
C. Pull Requests tab
D. Projects tab
A. Code tab
Which account type is best suited for large, diverse teams with many projects?
A. Individual
B. Organization
C. Team
D. Administrator
B. Organization
What is the primary function of Issues in GitHub?
A. Making commits
B. Comparing branches
C. Having conversations
D. Cross referencing other issues and pull requests
C. Having conversations
What are the 5 main steps in a GitHub workflow?
- Create a branch off a master
- Make commits
- Open a pull request
- Collaborate (Make more commits, interact with integrations)
- Merge to master branch
What is the first step of the GitHub flow?
A. Merging
B. Committing
C. Branching
D. Cloning
C. Branching
Which of the following commands is used to synchronize the remote and local working environments?
A. git pull
B. git merge
C. git status
D. git commit
A. git pull
What command moves a file from the working directory to the staging area?
A. git status
B. git remove -v
C. git staging
D. git add
D. git add
Typically how long should branches (in Git) exist?
A. It doesn’t matter
B. Shorter is better all the time
C. Shorter is best, but long-lived branches may be appropriate in some cases
D. Long-living branches are better for small teams
C. Shorter is best, but long-lived branches may be appropriate in some cases
Merge conflicts happen when:
A. Tow or more people are working on the same file
B. Two or more people are working on the same file at the same time
C. Two or more branches have had changes on the same part of the same file since the branches were created
D. Two or more branches have had changes on the same part of the same file
C. Two or more branches have had changes on the same part of the same file since the branches were created
What is the right amount of change to include in a commit?
A. About 2 hours’ worth of work
B. All of the changes necessary to implement the requested feature
C. A single line of code
D. Enough for a small, logical unit of change
D. Enough for a small, logical unit of change
What hashing algorithm does Git use to identify commits?
A. MD5
B. SHA-1
C. SHA-2
D. AES
B. SHA-1
What command is used to see the history of commits?
A. git status
B. git revert
C. git log
D. git history
C. git log
What is the safest command to use to change history?
A. git reset –soft
B. git commit –amend
C. git revert
D. git rebase
C. git revert
How is rebase used in relation to a merge?
A. A rebase is the same as a merge
B. A rebase lets you move from a fast-foward to a recursive merge scenario
C. A rebase enables you to move from a recursive to a fast-foward merge scenario
D. A rebase lets you select the merge strategy you would like to use
C. A rebase enables you to move from a recursive to a fast-foward merge scenario
Once a project is underway, what important step must a developer do before making changes?
A) Create a new GitHub repo for their code, then create a branch
B) Deploy any changes from the repository into their Developer sandbox
C) Create their own Salesforce DX project
D) Refactor all the code provided by other developers
B) Deploy any changes from the repository into their Developer sandbox
After a developer makes a change in a sandbox org, what step is required to share it with others?
A) Create a new branch in the source control system and a new DX project
B) Test the changes after pushing them to a clean testing org
C) Deploy the changes to every teammate’s sandbox
D) Retrieve the changes from their sandbox to the project in the source repository
D) Retrieve the changes from their sandbox to the project in the source repository
What is the release artifact?
A) A .zip file that contains all the objects and components for the language training services customizations
B) A .zip file that contains only the objects and components that are changing in the release
C) A package version of the changes that the development team has made in this release
D) The inbound change set to deploy to the production environment
B) A .zip file that contains only the objects and components that are changing in the release
Why does the org development model use ‘force:mdapi:deploy’ to deploy changes to staging and production?
A) To skip the step of converting source to metadata format
B) To eliminate the need to run local and integration tests in the staging sandbox
C) To deploy all components in the artifact in a single transaction
D) To give teams 14 days to perform the deployment to minimize customer impact
C) To deploy all components in the artifact in a single transaction
What can developers use the Salesforce CLI for?
Manage their DX projects, create scratch orgs, push and pull metadata to and from a scratch org, and run unit tests
What can DevOps use the Salesforce CLI for?
As part of build automation scripts: To create and access environments, to deploy source, to install packages and to run tests
Scratch orgs provide:
A) A Salesforce org that multiple developers use at the same time
B) A dedicated and disposable Salesforce environment for a developer and their project
C) A copy of an existing sandbox
D) A and B
B) A dedicated and disposable Salesforce environment for a developer and their project
What is the role of sandboxes in the package development model?
A) You don’t use sandboxes in the package development life cycle
B) You use sandboxes for user acceptance testing and as a staging environment
C) It’s a starting point for the development process
D) It’s where you test your package during continuous delivery
E) B and D
E) B and D
How does the Salesforce CLI increase your productivity?
A) IT completely replaces the Setup UI
B) You can create scripts for repetitive tasks, for build automation, or to run tests
C) It contains commands that help you directly interact with your version control system
B) You can create scripts for repetitive tasks, for build automation, or to run tests