diff --git a/.github/test/scripts/liquibase_update.sh b/.github/test/scripts/liquibase_update.sh index 6b6488dd..7db6c744 100644 --- a/.github/test/scripts/liquibase_update.sh +++ b/.github/test/scripts/liquibase_update.sh @@ -1,5 +1,5 @@ #!/bin/bash -: ${CHANGELOG_FILE:="/changelog/changelog.sql"} +: ${CHANGELOG_FILE:="changelog.sql"} : ${DEFAULTS_FILE:="/liquibase/changelog/liquibase-mssql.properties"} echo "Applying changes to the database. Changelog: $CHANGELOG_FILE" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fd5fb75c..9185b99e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -86,7 +86,7 @@ jobs: # Check if the container is running if docker inspect -f '{{.State.Running}}' "$CONTAINER_NAME" 2>/dev/null | grep -q "true"; then # Get the logs and check if the desired string is present - if docker exec $CONTAINER_NAME liquibase update --defaultsFile=/liquibase/changelog/liquibase.properties --changelog-file=/changelog/example-changelog.xml 2>&1 | grep -q "$LOG_STRING"; then + if docker exec $CONTAINER_NAME liquibase update --defaultsFile=/liquibase/changelog/liquibase.properties --changelog-file=example-changelog.xml 2>&1 | grep -q "$LOG_STRING"; then echo "The log contains the string: $LOG_STRING" else echo "The log does not contain the string: $LOG_STRING" @@ -147,7 +147,7 @@ jobs: # Check if the container is running if docker inspect -f '{{.State.Running}}' "$CONTAINER_NAME" 2>/dev/null | grep -q "true"; then # Get the logs and check if the desired string is present - if docker exec $CONTAINER_NAME liquibase update --defaultsFile=/liquibase/changelog/liquibase.properties --changelog-file=/changelog/example-changelog.xml 2>&1 | grep -q "$LOG_STRING"; then + if docker exec $CONTAINER_NAME liquibase update --defaultsFile=/liquibase/changelog/liquibase.properties --changelog-file=example-changelog.xml 2>&1 | grep -q "$LOG_STRING"; then echo "The log contains the string: $LOG_STRING" else echo "The log does not contain the string: $LOG_STRING" @@ -179,7 +179,7 @@ jobs: # Start mssql docker container docker run --name mssql --network test_network -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Letmein.8' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest # Get the logs and check if the desired string is present - docker run --rm --name $CONTAINER_NAME --network test_network -v $(pwd)/.github/test:/liquibase/changelog liquibase/liquibase:${{ github.sha }} update --defaultsFile=/liquibase/changelog/liquibase-mssql.properties --changelog-file=/changelog/changelog.sql + docker run --rm --name $CONTAINER_NAME --network test_network -v $(pwd)/.github/test:/liquibase/changelog liquibase/liquibase:${{ github.sha }} update --defaultsFile=/liquibase/changelog/liquibase-mssql.properties --changelog-file=changelog.sql - name: Test custom entrypoint run: | diff --git a/Dockerfile b/Dockerfile index 08e97a36..4dd85214 100644 --- a/Dockerfile +++ b/Dockerfile @@ -41,7 +41,7 @@ RUN ln -s /liquibase/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh && ln -s /liquibase/liquibase /usr/local/bin/liquibase && \ ln -s /liquibase/bin/lpm /usr/local/bin/lpm -WORKDIR /liquibase +WORKDIR /liquibase/changelog USER liquibase ENV LIQUIBASE_HOME=/liquibase diff --git a/Dockerfile.alpine b/Dockerfile.alpine index 839ff8a4..65699149 100644 --- a/Dockerfile.alpine +++ b/Dockerfile.alpine @@ -39,7 +39,7 @@ RUN addgroup --gid 1001 liquibase && \ # Make /liquibase directory and change owner to liquibase RUN mkdir /liquibase && chown root:root /liquibase -WORKDIR /liquibase +WORKDIR /liquibase/changelog # Copy the /liquibase directory from builder stage into final image COPY --from=builder /liquibase /liquibase diff --git a/README.md b/README.md index ae150821..cd649549 100644 --- a/README.md +++ b/README.md @@ -40,9 +40,9 @@ The /liquibase/changelog volume can also be used for commands that write output, ### Changelog File Example -If you have a local `c:\projects\my-project\src\main\resources\com\example\changelogs\root.changelog.xml` file, you would run `docker run --rm -v c:\projects\my-project\src\main\resources:/liquibase/changelog liquibase/liquibase --changeLogFile=changelog/com/example/changelogs/root.changelog.xml update` +If you have a local `c:\projects\my-project\src\main\resources\com\example\changelogs\root.changelog.xml` file, you would run `docker run --rm -v c:\projects\my-project\src\main\resources:/liquibase/changelog liquibase/liquibase --changeLogFile=com/example/changelogs/root.changelog.xml update` -To generate a new changelog file at this location, run `docker run --rm -v c:\projects\my-project\src\main\resources:/liquibase/changelog liquibase/liquibase --changeLogFile=changelog/com/example/changelogs/root.changelog.xml generateChangeLog` +To generate a new changelog file at this location, run `docker run --rm -v c:\projects\my-project\src\main\resources:/liquibase/changelog liquibase/liquibase --changeLogFile=com/example/changelogs/root.changelog.xml generateChangeLog` ## Configuration File