Files
fx-serverless/scripts/test_cli.sh
2019-11-27 18:09:06 +08:00

50 lines
1023 B
Bash
Executable File

#!/usr/bin/env bash
set -e
fx="./build/fx"
service='fx-service'
run() {
local lang=$1
local port=$2
# localhost
$fx up --name ${service}_${lang} --port ${port} --healthcheck test/functions/func.${lang}
$fx list # | jq ''
$fx down ${service}_${lang} || true
}
build_image() {
local lang=$1
local tag=$2
$fx image build -t ${tag} test/functions/func.${lang}
}
export_image() {
local lang=$1
local dir=$2
$fx image export -o ${dir} test/functions/func.${lang}
}
# main
# clean up
# docker stop fx-agent || true && docker rm fx-agent || true
if [[ "$DOCKER_REMOTE_HOST_ADDR" != "" ]];then
cloud_name='fx-remote-docker-host'
$fx infra create --name ${cloud_name} --type docker --host ${DOCKER_REMOTE_HOST_USER}@${DOCKER_REMOTE_HOST_ADDR}
$fx use ${cloud_name}
fi
port=20000
for lang in ${1}; do
run $lang $port
((port++))
build_image $lang "test-fx-image-build-${lang}"
mkdir -p /tmp/${lang}/images
export_image ${lang} /tmp/${lang}/images
rm -rf /tmp/${lang}/images
done
wait