For years I've used a database build script framework written in-house to recompile all schema objects and run unit tests. However, the actual DDL code to migrate a schema from one version to the next was always left as a hand-rolled script that is executed up-front before the normal build process.
A colleague introduced me to Flyway DB and I am now a fan. The introduction, documentation, and tutorial material is top-notch.
Check it out here: https://flywaydb.org/
Although it has an API for integration, I specifically like the command-line utility version: https://flywaydb.org/getstarted/firststeps/commandline