From 0d1c5f6df255dabf2497db98df9db3ce937953bd Mon Sep 17 00:00:00 2001
From: Konstantinos Samaras-Tsakiris <ksamtsak@gmail.com>
Date: Tue, 27 Apr 2021 19:09:08 +0200
Subject: [PATCH] Move drupal operations scripts to this repo

---
 drupal-operations-scripts/check-if-installed.sh  | 16 ++++++++++++++++
 drupal-operations-scripts/clear-cache.sh         |  9 +++++++++
 drupal-operations-scripts/clone.sh               | 10 ++++++++++
 drupal-operations-scripts/database-backup.sh     |  9 +++++++++
 drupal-operations-scripts/database-restore.sh    | 13 +++++++++++++
 .../disable-maintenance-mode.sh                  | 10 ++++++++++
 .../enable-maintenance-mode.sh                   | 10 ++++++++++
 drupal-operations-scripts/site-install.sh        |  9 +++++++++
 generate-pipeline.sh                             |  3 ---
 9 files changed, 86 insertions(+), 3 deletions(-)
 create mode 100755 drupal-operations-scripts/check-if-installed.sh
 create mode 100755 drupal-operations-scripts/clear-cache.sh
 create mode 100755 drupal-operations-scripts/clone.sh
 create mode 100755 drupal-operations-scripts/database-backup.sh
 create mode 100755 drupal-operations-scripts/database-restore.sh
 create mode 100755 drupal-operations-scripts/disable-maintenance-mode.sh
 create mode 100755 drupal-operations-scripts/enable-maintenance-mode.sh
 create mode 100755 drupal-operations-scripts/site-install.sh

diff --git a/drupal-operations-scripts/check-if-installed.sh b/drupal-operations-scripts/check-if-installed.sh
new file mode 100755
index 0000000..61f95ec
--- /dev/null
+++ b/drupal-operations-scripts/check-if-installed.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+set -exu
+
+# Change working directory to the drupal code
+cd /app
+
+# Check if Drupal site is installed
+echo "Checking if Drupal site is installed"
+drush status bootstrap | grep -q Successful
+
+# Make sure we get a successful response
+  if [$? -ne 0]; then
+    echo "Drupal is not installed" >&2
+    exit 1
+  fi
+  exit 0
diff --git a/drupal-operations-scripts/clear-cache.sh b/drupal-operations-scripts/clear-cache.sh
new file mode 100755
index 0000000..c25d751
--- /dev/null
+++ b/drupal-operations-scripts/clear-cache.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+set -exu
+
+# Change working directory to the drupal code
+cd /app
+
+# Clean cache
+echo "Cleaning cache"
+drush cr
diff --git a/drupal-operations-scripts/clone.sh b/drupal-operations-scripts/clone.sh
new file mode 100755
index 0000000..65499ec
--- /dev/null
+++ b/drupal-operations-scripts/clone.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+set -exu
+
+# Change working directory to the drupal code
+cd /app
+
+# Clone data from source to destination
+rsync -av /drupal-data-source/ /drupal-data
+/scripts/database-restore.sh
+/scripts/clear-cache.sh
diff --git a/drupal-operations-scripts/database-backup.sh b/drupal-operations-scripts/database-backup.sh
new file mode 100755
index 0000000..9d2a220
--- /dev/null
+++ b/drupal-operations-scripts/database-backup.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+set -exu
+
+# Change working directory to the drupal code
+cd /app
+
+# Database backup
+echo "Database backup"
+drush sql-dump > /drupal-data/dbdump.sql
diff --git a/drupal-operations-scripts/database-restore.sh b/drupal-operations-scripts/database-restore.sh
new file mode 100755
index 0000000..a067561
--- /dev/null
+++ b/drupal-operations-scripts/database-restore.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+set -exu
+
+# Change working directory to the drupal code
+cd /app
+
+# Database drop
+echo "Database drop"
+drush sql-drop -y
+
+# Database restore
+echo "Database restore"
+`drush sql-connect` < /drupal-data/dbdump.sql
diff --git a/drupal-operations-scripts/disable-maintenance-mode.sh b/drupal-operations-scripts/disable-maintenance-mode.sh
new file mode 100755
index 0000000..b13076c
--- /dev/null
+++ b/drupal-operations-scripts/disable-maintenance-mode.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+set -exu
+
+# Change working directory to the drupal code
+cd /app
+
+# Disable maintenance mode
+echo "Disabling maintenance mode"
+drush state:set system.maintenance_mode 0 --input-format=integer
+drush cache:rebuild
diff --git a/drupal-operations-scripts/enable-maintenance-mode.sh b/drupal-operations-scripts/enable-maintenance-mode.sh
new file mode 100755
index 0000000..744fe0f
--- /dev/null
+++ b/drupal-operations-scripts/enable-maintenance-mode.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+set -exu
+
+# Change working directory to the drupal code
+cd /app
+
+# Enable maintenance mode
+echo "Enabling maintenance mode"
+drush state:set system.maintenance_mode 1 --input-format=integer
+drush cache:rebuild
diff --git a/drupal-operations-scripts/site-install.sh b/drupal-operations-scripts/site-install.sh
new file mode 100755
index 0000000..8cd6ba6
--- /dev/null
+++ b/drupal-operations-scripts/site-install.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+set -exu
+
+# Change working directory to the drupal code
+cd /app
+
+# Install Drupal site
+echo "Installing Drupal site"
+drush site-install -y --config-dir=../config/sync --account-name=admin --account-pass=pass --account-mail=admin@example.com
diff --git a/generate-pipeline.sh b/generate-pipeline.sh
index e1785dc..8394603 100755
--- a/generate-pipeline.sh
+++ b/generate-pipeline.sh
@@ -69,9 +69,6 @@ job_site_${versionName##*/}:
     - export drushVersion=`/yq e .variables.drushVersion $versionName`
     - wget https://gitlab.cern.ch/drupal/paas/composer-drupal-project/-/archive/\${drupalDistroRefspec}/composer-drupal-project-\${drupalDistroRefspec}.tar;
     - tar xf composer-drupal-project-\${drupalDistroRefspec}.tar;
-    - wget https://gitlab.cern.ch/drupal/paas/drupal-operations/-/archive/master/drupal-operations-master.tar?path=scripts
-    - tar xf drupal-operations-master.tar?path=scripts
-    - mv drupal-operations-master-scripts/scripts drupal-operations-scripts
     - mv composer-drupal-project-\${drupalDistroRefspec} cern-drupal-distribution;
     - /kaniko/executor --context \$CI_PROJECT_DIR --dockerfile \$CI_PROJECT_DIR/Dockerfile
         --destination \$CI_REGISTRY_IMAGE/site-builder-base:${versionName##*/}\$IMAGE_DESTINATION_EXTENSION
-- 
GitLab