2020-01-22 16:19:01 +08:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
#
|
|
|
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
# contributor license agreements. See the NOTICE file distributed with
|
|
|
|
# this work for additional information regarding copyright ownership.
|
|
|
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
|
|
|
# (the "License"); you may not use this file except in compliance with
|
|
|
|
# the License. You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
#
|
|
|
|
|
|
|
|
set -ex
|
|
|
|
|
|
|
|
export_or_prefix() {
|
|
|
|
export OPENRESTY_PREFIX="/usr/local/openresty-debug"
|
2020-05-26 12:40:34 +08:00
|
|
|
export APISIX_MAIN="https://raw.githubusercontent.com/apache/incubator-apisix/master/rockspec/apisix-master-0.rockspec"
|
2020-01-22 16:19:01 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
do_install() {
|
|
|
|
wget -qO - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
|
|
|
|
sudo apt-get -y update --fix-missing
|
|
|
|
sudo apt-get -y install software-properties-common
|
|
|
|
sudo add-apt-repository -y "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main"
|
|
|
|
sudo add-apt-repository -y ppa:longsleep/golang-backports
|
|
|
|
|
|
|
|
sudo apt-get update
|
2020-04-20 09:09:14 +08:00
|
|
|
sudo apt-get install openresty-debug lua5.1 liblua5.1-0-dev
|
|
|
|
|
|
|
|
wget https://github.com/luarocks/luarocks/archive/v2.4.4.tar.gz
|
|
|
|
tar -xf v2.4.4.tar.gz
|
|
|
|
cd luarocks-2.4.4
|
|
|
|
./configure --prefix=/usr > build.log 2>&1 || (cat build.log && exit 1)
|
|
|
|
make build > build.log 2>&1 || (cat build.log && exit 1)
|
|
|
|
sudo make install > build.log 2>&1 || (cat build.log && exit 1)
|
|
|
|
cd ..
|
|
|
|
rm -rf luarocks-2.4.4
|
2020-01-22 16:19:01 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
script() {
|
|
|
|
export_or_prefix
|
|
|
|
export PATH=$OPENRESTY_PREFIX/nginx/sbin:$OPENRESTY_PREFIX/luajit/bin:$OPENRESTY_PREFIX/bin:$PATH
|
|
|
|
openresty -V
|
2020-06-26 17:25:58 +08:00
|
|
|
sudo service etcd stop
|
|
|
|
mkdir -p ~/etcd-data
|
|
|
|
/usr/bin/etcd --listen-client-urls 'http://0.0.0.0:2379' --advertise-client-urls='http://0.0.0.0:2379' --data-dir ~/etcd-data > /dev/null 2>&1 &
|
|
|
|
etcd --version
|
|
|
|
sleep 5
|
2020-01-22 16:19:01 +08:00
|
|
|
|
2020-04-13 09:54:07 +08:00
|
|
|
sudo rm -rf /usr/local/apisix
|
|
|
|
|
2020-08-18 20:18:55 +08:00
|
|
|
# run the test case in an empty folder
|
|
|
|
mkdir tmp && cd tmp
|
|
|
|
cp -r ../utils ./
|
|
|
|
|
2020-01-22 16:19:01 +08:00
|
|
|
# install APISIX by shell
|
|
|
|
sudo mkdir -p /usr/local/apisix/deps
|
2020-04-20 09:09:14 +08:00
|
|
|
sudo PATH=$PATH ./utils/install-apisix.sh install > build.log 2>&1 || (cat build.log && exit 1)
|
2020-01-22 16:19:01 +08:00
|
|
|
|
2020-02-09 17:19:45 +08:00
|
|
|
sudo PATH=$PATH apisix help
|
|
|
|
sudo PATH=$PATH apisix init
|
|
|
|
sudo PATH=$PATH apisix start
|
|
|
|
sudo PATH=$PATH apisix stop
|
2020-01-22 16:19:01 +08:00
|
|
|
|
2020-04-20 09:09:14 +08:00
|
|
|
sudo PATH=$PATH ./utils/install-apisix.sh remove > build.log 2>&1 || (cat build.log && exit 1)
|
2020-01-22 16:19:01 +08:00
|
|
|
|
|
|
|
# install APISIX by luarocks
|
2020-05-26 12:40:34 +08:00
|
|
|
sudo luarocks install $APISIX_MAIN > build.log 2>&1 || (cat build.log && exit 1)
|
2020-01-22 16:19:01 +08:00
|
|
|
|
2020-03-07 14:59:18 +08:00
|
|
|
# show install files
|
|
|
|
luarocks show apisix
|
|
|
|
|
2020-02-09 17:19:45 +08:00
|
|
|
sudo PATH=$PATH apisix help
|
|
|
|
sudo PATH=$PATH apisix init
|
|
|
|
sudo PATH=$PATH apisix start
|
|
|
|
sudo PATH=$PATH apisix stop
|
|
|
|
|
2020-02-18 12:40:15 +08:00
|
|
|
# apisix cli test
|
2020-08-18 20:18:55 +08:00
|
|
|
# todo: need a more stable way
|
2020-01-22 16:19:01 +08:00
|
|
|
|
2020-03-27 07:34:08 +08:00
|
|
|
cat /usr/local/apisix/logs/error.log | grep '\[error\]' > /tmp/error.log | true
|
|
|
|
if [ -s /tmp/error.log ]; then
|
|
|
|
echo "=====found error log====="
|
|
|
|
cat /usr/local/apisix/logs/error.log
|
2020-04-13 10:45:13 +08:00
|
|
|
exit 1
|
2020-03-27 07:34:08 +08:00
|
|
|
fi
|
2020-01-22 16:19:01 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
case_opt=$1
|
|
|
|
shift
|
|
|
|
|
|
|
|
case ${case_opt} in
|
|
|
|
do_install)
|
|
|
|
do_install "$@"
|
|
|
|
;;
|
|
|
|
script)
|
|
|
|
script "$@"
|
|
|
|
;;
|
|
|
|
esac
|