[Codepipeline] What is the function of “Release change”?

The “Release change” function is the way to manually start the pipeline. This is outline in this docs page [1]. There is an API, StartPipelineExecution that is called whenever CloudWatch finds a change in your repository. Another way to call the same API is to use this manual function in the CodePipeline console.

The use cases for this are whenever you want to trigger the pipeline without pushing any code. The usefulness really depends on what the purpose is of your CodePipeline. As an example, if you have a pipeline set up to run a sequence of testing stages. The tests likely do not change very often so execution does not depend on a code change. So if you ever want to trigger the tests, you can use release change (or schedule executions).

I use this function most commonly when I am testing the pipeline when first setting it up. If your CodePipeline fails because of a Configuration issue rather than a code issue, then you can fix the configuration and rerun the pipeline using Release change. This avoids having to do a dummy push to the repo to trigger a new pipeline execution.

References

[1] Start a pipeline manually – AWS CodePipeline- https://docs.aws.amazon.com/codepipeline/latest/userguide/pipelines-rerun-manually.html