diff options
author | Lin Jen-Shin <godfat@godfat.org> | 2018-05-15 01:49:46 +0800 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2018-05-16 21:52:08 +0800 |
commit | 0ab6469187285368d9f64f9ec67dbbcfa3e5a901 (patch) | |
tree | cc4a30610d5ade08499667c74c8bcc467db4eb25 | |
parent | cdcde75bb782951b27ab9db0d54a71db7c94d7cb (diff) | |
download | gitlab-ce-0ab6469187285368d9f64f9ec67dbbcfa3e5a901.tar.gz |
Grant privileges after database is createdce-5980-add-ce-upgrade-ee-test
Never drop the database when granting privileges
-rw-r--r-- | .gitlab-ci.yml | 3 | ||||
-rw-r--r-- | scripts/create_mysql_user.sh | 1 | ||||
-rw-r--r-- | scripts/create_postgres_user.sh | 4 | ||||
-rw-r--r-- | scripts/prepare_build.sh | 12 | ||||
-rw-r--r-- | scripts/utils.sh | 10 |
5 files changed, 14 insertions, 16 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 690e26711be..84d8e69b84e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -189,7 +189,7 @@ stages: <<: *dedicated-no-docs-and-no-qa-pull-cache-job <<: *use-pg variables: - CREATE_DB_USER: "true" + SETUP_DB: "false" script: # Manually clone gitlab-test and only seed this project in # db/fixtures/development/04_project.rb thanks to SIZE=1 below @@ -233,7 +233,6 @@ stages: .migration-paths: &migration-paths <<: *dedicated-no-docs-and-no-qa-pull-cache-job variables: - CREATE_DB_USER: "true" SETUP_DB: "false" script: - git fetch https://gitlab.com/gitlab-org/gitlab-ce.git v9.3.0 diff --git a/scripts/create_mysql_user.sh b/scripts/create_mysql_user.sh index 286b1325f1d..35f68c581f3 100644 --- a/scripts/create_mysql_user.sh +++ b/scripts/create_mysql_user.sh @@ -1,7 +1,6 @@ #!/bin/bash mysql --user=root --host=mysql <<EOF -CREATE DATABASE IF NOT EXISTS gitlabhq_test DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; CREATE USER IF NOT EXISTS 'gitlab'@'%'; GRANT ALL PRIVILEGES ON gitlabhq_test.* TO 'gitlab'@'%'; FLUSH PRIVILEGES; diff --git a/scripts/create_postgres_user.sh b/scripts/create_postgres_user.sh index 8a744df3226..8a049bcd7fb 100644 --- a/scripts/create_postgres_user.sh +++ b/scripts/create_postgres_user.sh @@ -1,8 +1,6 @@ #!/bin/bash psql -h postgres -U postgres postgres <<EOF -DROP DATABASE IF EXISTS gitlabhq_test; -CREATE DATABASE gitlabhq_test; CREATE USER gitlab; -GRANT ALL PRIVILEGES ON DATABASE gitlabhq_test TO gitlab; +GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO gitlab; EOF diff --git a/scripts/prepare_build.sh b/scripts/prepare_build.sh index 01cb01ed812..d8bcc9f8191 100644 --- a/scripts/prepare_build.sh +++ b/scripts/prepare_build.sh @@ -49,16 +49,8 @@ sed -i 's/localhost/redis/g' config/redis.queues.yml cp config/redis.shared_state.yml.example config/redis.shared_state.yml sed -i 's/localhost/redis/g' config/redis.shared_state.yml -# Some tasks (e.g. db:seed_fu) need to have a properly-configured database -# user but not necessarily a full schema loaded -if [ "$CREATE_DB_USER" != "false" ]; then - if [ "$GITLAB_DATABASE" = 'postgresql' ]; then - . scripts/create_postgres_user.sh - else - . scripts/create_mysql_user.sh - fi -fi - if [ "$SETUP_DB" != "false" ]; then setup_db +elif getent hosts postgres || getent hosts mysql; then + setup_db_user_only fi diff --git a/scripts/utils.sh b/scripts/utils.sh index 08c33f3f67e..2d2ba115563 100644 --- a/scripts/utils.sh +++ b/scripts/utils.sh @@ -13,7 +13,17 @@ retry() { return 1 } +setup_db_user_only() { + if [ "$GITLAB_DATABASE" = "postgresql" ]; then + . scripts/create_postgres_user.sh + else + . scripts/create_mysql_user.sh + fi +} + setup_db() { + setup_db_user_only + bundle exec rake db:drop db:create db:schema:load db:migrate if [ "$GITLAB_DATABASE" = "mysql" ]; then |