Skip to content

Support db migration and initialization for Auto DevOps

Thong Kuah requested to merge 48004-db-initialize-migrate into master

Pre-requisite

What does this MR do?

if $DB_INITIALIZE is present, deploy an initial release where only $DB_INITIALIZE is run in a special job (and deployments are not rendered/loaded). This is then followed by second release with deployments as usual.

if $DB_MIGRATE, set this value which will trigger a pre-upgrade helm hook.

Due to helm not supporting hook logs, this MR does not show the logs from the intialization and migration logs.

What are the relevant issue numbers?

https://gitlab.com/gitlab-org/gitlab-ce/issues/48004

Tasks

  • Document :

For an example Rails project :

  • We can set DB_INITIALIZE: cd /app && RAILS_ENV=production bin/setup and DB_MIGRATE: cd app && RAILS_ENV=production bin/update

  • /app is from herokuish buildpacks. Can use $APP_PATH too

  • Also, there is only one chance to run $DB_INITIALIZE. If the first deploy successfully completes, $DB_INITIALIZE will never be run again. If $DB_INITIALIZE is present during the first deploy though and it errors or fails, that doesn't cound as a successfully first deploy

Does this MR meet the acceptance criteria?

Closes #48004 (closed)

Edited by 🤖 GitLab Bot 🤖

Merge request reports