...
Follow these instructions to install Liquibase Enterprise: Theme: Using the CLI and the Composite Repository to Install Liquibase Enterprise on Linux Systems
...
Code Block |
---|
# Liquibase Sample gitlab-ci.yml stages: - package - forecast - deploy - logging packager-job: stage: package tags: - liquibase only: refs: - develop variables: - $jobtype == "PACKAGER" except: variables: # Don't execute when Liquibase commits back to the Repo. - $CI_COMMIT_AUTHOR == "Liquibase <support@liquibase.com>" script: - | echo "Packaging Stage" echo "Checking Environment" echo Project directory: $CI_PROJECT_DIR echo Project ID: $CI_PROJECT_ID echo Commit Author: $CI_COMMIT_AUTHOR whoami # Variables needed for Oracle projects. export PATH="$PATH:/opt/datical/DaticalDB/repl:/opt/datical/DaticalDB/instantclient" export LD_LIBRARY_PATH=/opt/datical/DaticalDB/instantclient hammer show version - | echo "Getting SQL repo" cd .. rm src -r -f mkdir -p src cd src git config --global user.name "Liquibase" git config --global user.email "support@liquibase.com" git config --global init.defaultBranch main git init git remote add origin git@gitlab.com:mbohls/$sql_repo.git git fetch origin git checkout -b $branch --track origin/$branch git branch --set-upstream-to=origin/$branch $branch - | echo "Getting DDB repo" cd .. rm ddb -r -f mkdir -p ddb cd ddb git config --global user.name "Liquibase" git config --global user.email "support@liquibase.com" git config --global init.defaultBranch main git init git remote add origin git@gitlab.com:mbohls/$ddb_repo.git git fetch origin git checkout -b main --track origin/main git branch --set-upstream-to=origin/main main - | echo "Packaging" hammer groovy deployPackager.groovy pipeline=$pipeline scm=true labels=$CI_JOB_ID zip -r $appname-$CI_JOB_ID.zip * -x "Reports/*" -x "Logs/*" -x "Snapshots/*" -x "Profiles/*" -x "daticaldb.log" -x "deployPackager.properties"; mv $appname-$CI_JOB_ID.zip $CI_PROJECT_DIR artifacts: paths: - $appname-$CI_JOB_ID.zip forecast-job: stage: forecast tags: - liquibase only: refs: - web variables: - $jobtype == "FORECAST" script: - | echo "Forecast Stage" echo Project directory: $CI_PROJECT_DIR echo Artifact ID: $packagenumber export PATH="$PATH:/opt/datical/DaticalDB/repl" export LD_LIBRARY_PATH=/opt/datical/DaticalDB/instantclient cd ../ddb mkdir -p forecast cd forecast # Get GitLab Artifact curl --output $appname-$packagenumber.zip --header "PRIVATE-TOKEN: <your PAT>" "https://gitlab.com/api/v4/projects/$CI_PROJECT_ID/jobs/$packagenumber/artifacts/$appname-$packagenumber.zip" # Unzip and forecast unzip $appname-$packagenumber.zip if [ -n "${labels}" ] then hammer forecast $environment --labels="${labels}" else hammer forecast $environment fi deploy-job: stage: deploy tags: - liquibase only: refs: - web variables: - $jobtype == "DEPLOY" script: - | echo "Deploy Stage" echo Project directory: $CI_PROJECT_DIR echo Artifact ID: $packagenumber export PATH="$PATH:/opt/datical/DaticalDB/repl" export LD_LIBRARY_PATH=/opt/datical/DaticalDB/instantclient cd ../ddb mkdir -p deploy cd deploy # Get GitLab Artifact curl --output $appname-$packagenumber.zip --header "PRIVATE-TOKEN: yourtoken" "https://gitlab.com/api/v4/projects/$CI_PROJECT_ID/jobs/$packagenumber/artifacts/$appname-$packagenumber.zip" # Unzip and deploy unzip $appname-$packagenumber.zip if [ -n "${labels}" ] then hammer deploy $environment --labels="${labels}" else hammer deploy $environment fi logging-job: stage: logging tags: - daticaldbliquibase except: variables: # Don't execute when Liquibase commits to the repo. - $CI_COMMIT_AUTHOR == "Liquibase <support@liquibase.com>" && $jobtype == "PACKAGER" script: - | # Generate log files for debugging echo "Post Stage" echo Project directory: $CI_PROJECT_DIR export PATH="$PATH:/opt/datical/DaticalDB/repl:/opt/datical/DaticalDB/instantclient" export LD_LIBRARY_PATH=/opt/datical/DaticalDB/instantclient # Switch to the DDB directory cd ../ddb hammer debug export --include="datical.project,changelog.xml,daticaldb*.log,*.html,deployPackager.properties,packager.log" --report=scrubbed_debug_files-$CI_JOB_ID.zip mv scrubbed_debug_files-$CI_JOB_ID.zip $CI_PROJECT_DIR # Run even if there was a job failure earlier so that we capture the log files. when: always artifacts: paths: - scrubbed_debug_files-$CI_JOB_ID.zip variables: #These are runtime variables. Global variables are set at the project level. environment: value: "ref" description: "DBDEF name. Valid values are: ref, test, prod" jobtype: value: "PACKAGER" description: "valid values are: PACKAGER, FORECAST, DEPLOY" packagenumber: value: "changeme" description: "FORECAST and DEPLOY JOBS ONLY. Unique number of artifact" labels: description: "FORECAST and DEPLOY JOBS ONLY. Label expression" |
...