forked from nextcloud/richdocuments
-
Notifications
You must be signed in to change notification settings - Fork 0
/
drone-server-install.sh
140 lines (116 loc) · 2.84 KB
/
drone-server-install.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#!/bin/bash
# SPDX-FileCopyrightText: 2014 Thomas Müller <thomas.mueller@tmit.eu>
# SPDX-License-Identifier: AGPL-3.0-or-later
# TODO: move this out of the repo to make it usable in other apps
set -e
DATABASENAME=oc_autotest
DATABASEUSER=oc_autotest
[ -z "$DATABASEHOST" ] && DATABASEHOST="localhost"
ADMINLOGIN=admin
BASEDIR=$PWD
DBCONFIGS="sqlite mysql pgsql oracle"
PHPUNIT=$(which phpunit)
if [ $1 ]; then
FOUND=0
for DBCONFIG in $DBCONFIGS; do
if [ $1 = $DBCONFIG ]; then
FOUND=1
break
fi
done
if [ $FOUND = 0 ]; then
echo -e "Unknown database config name \"$1\"\n" >&2
print_syntax
exit 2
fi
fi
# use tmpfs for datadir - should speedup unit test execution
DATADIR=$BASEDIR/data-autotest
echo "Using $1 database $DATABASENAME"
# create autoconfig for sqlite, mysql and postgresql
cat > ./tests/autoconfig-sqlite.php <<DELIM
<?php
\$AUTOCONFIG = array (
'installed' => false,
'dbtype' => 'sqlite',
'dbtableprefix' => 'oc_',
'adminlogin' => '$ADMINLOGIN',
'adminpass' => 'admin',
'directory' => '$DATADIR',
);
DELIM
cat > ./tests/autoconfig-mysql.php <<DELIM
<?php
\$AUTOCONFIG = array (
'installed' => false,
'dbtype' => 'mysql',
'dbtableprefix' => 'oc_',
'adminlogin' => '$ADMINLOGIN',
'adminpass' => 'admin',
'directory' => '$DATADIR',
'dbuser' => '$DATABASEUSER',
'dbname' => '$DATABASENAME',
'dbhost' => '$DATABASEHOST',
'dbpass' => 'owncloud',
);
DELIM
cat > ./tests/autoconfig-pgsql.php <<DELIM
<?php
\$AUTOCONFIG = array (
'installed' => false,
'dbtype' => 'pgsql',
'dbtableprefix' => 'oc_',
'adminlogin' => '$ADMINLOGIN',
'adminpass' => 'admin',
'directory' => '$DATADIR',
'dbuser' => '$DATABASEUSER',
'dbname' => '$DATABASENAME',
'dbhost' => '$DATABASEHOST',
'dbpass' => 'owncloud',
);
DELIM
cat > ./tests/autoconfig-oracle.php <<DELIM
<?php
\$AUTOCONFIG = array (
'installed' => false,
'dbtype' => 'oci',
'dbtableprefix' => 'oc_',
'adminlogin' => '$ADMINLOGIN',
'adminpass' => 'admin',
'directory' => '$DATADIR',
'dbuser' => 'autotest',
'dbname' => 'XE',
'dbhost' =>'$DATABASEHOST',
'dbpass' => 'owncloud',
'loglevel' => 0,
);
DELIM
function run_install {
echo "Setup environment for $1 testing ..."
# back to root folder
cd $BASEDIR
# revert changes to tests/data
git checkout tests/data/*
# reset data directory
rm -rf $DATADIR
mkdir $DATADIR
touch $DATADIR/nextcloud.log
cp tests/preseed-config.php config/config.php
# copy autoconfig
cp $BASEDIR/tests/autoconfig-$1.php $BASEDIR/config/autoconfig.php
# trigger installation
echo "INDEX"
php -f index.php
echo "END INDEX"
}
function print_config {
echo "nextcloud configuration:"
cat $BASEDIR/config/config.php
echo "data directory:"
ls -ll $DATADIR
echo "nextcloud.log:"
[[ -f "$DATADIR/nextcloud.log" ]] && cat $DATADIR/nextcloud.log
}
run_install $1
print_config
cd $BASEDIR