Jenkins: Essentials Flashcards
The intent of the continuous workflow
To have a code that is stable and valid all the time
Continuous
implements Agile and Devops philosophies with tools that standardize the steps in the process and thoroughly test each code modification before it is integrated into the official source.
Continuous Integration (CI)
frequent, automatic integration of code. All new and modified code is automatically tested with the master code.
Continuous Delivery (CD)
the natural extension of CI. It ensures that the code is always ready to be deployed, although manual approval is required to actually deploy the software to production.
Continuous Deployment
automatically deploys all validated changes to production. Frequent feedback enables issues to be found and fixed quickly.
Elements of the Delivery Pipelines
- Version control
- Build
- Unit test
- Deploy
- Auto test
- Deploy to production
- Measure and validate
Steps in the software delivery process
- Code
- Build
- Integrate
- Test
- Release
- Deploy
- Operate
Source code management systems (SCMs) / version control systems (VCSs),
software systems that record all changes for a set of files over time. This allows you to share those changes and provide merging and tracking history of the recorded changes.
Using a modern SCM enables
- Collaborate efficiently on a single codebase.
- Track every change. SCM is considered the Single Source of Truth. (rollback)
The workflow to modify code that is stored in an SCM
- Clone (copy) the repo to your local computer.
- Create a branch for the change you want to make. A branch should represent a small, discrete change, which is typically the amount of work you can do in a few hours or less.
- Modify your local codebase and test your changes locally.
- Create a commit that contains the modified codebase.
- Push your commit to the remote, official repository.
commit
- a set of diffs that have been explicitly validated.
- A commit is actually a new version of the codebase. It can exist only locally or remotely. The latest commit on the history is the Head.
branch
a pointer to a single commit.
Head
the “latest” branch, also known as the master branch. To integrate a branch, you must merge it:
A Pull Request (PR)
contains the commits you want to add to the official code. It is pushed to the central server, where it can be reviewed and modified before it is merged to the destination branch. A pull request ends by being closed or merged.