We already saw in Chapters 5, Writing Reusable Code and Chapter 10, Creating Your Own PowerShell Repository which CI tools are available and what differentiates them. In our module build and release process, the CI tools should become irrelevant. In an enterprise environment, CI tools will give you more transparency and control over the build process, as well as proper test and release management.
Other than that, they are merely tools around your build script that orchestrate what to do with build artifacts. The build script does the heavy lifting and decides which actions to take based on the following:
- Build environment (Dev, QA, Prod)
- Build system (that is, TFS, VSTS, AppVeyor, Jenkins, and others)
Your build script contains the necessary build tasks, such as executing test cases and publishing artifacts. It should be designed in a way that you can simply...