Continuous integration

Continuous integration describes the practice of multiple developers integrating code into the main repository multiple times. Every commit a developer adds starts a build that consists of several tests and produces artifacts when it is finished.

Countless open source repositories use continuous integration and have a build and release process to release to the PowerShell gallery for example. Especially in the open-source community, where projects have many different contributors, a good CI process is essential.

The PowerShell repositories set a good example. Developers fork the official code and work on their small features, which later need to be integrated into the repository. This is accomplished through pull requests:

Every pull request triggers an automated build process on a CI system like AppVeyor or VSTS that runs a suite of tests. So, before the code is even integrated into the main repository, it is run through all unit tests automatically. Additionally, repository maintainers review the code to make sure that it fits the requirements.

PowerShell is a good fit for CI tools with Pester integration and a great developer experience. With additional modules such as PSDeploy, BuildHelpers, and PSDepend, the build that is started by the CI tool can be started independently of the tool as well.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset