install dokku from built deb package and use docker image for integrations tests
This commit is contained in:
committed by
Jose Diaz-Gonzalez
parent
1f882d09bf
commit
d8ada6a6e9
@@ -4,6 +4,8 @@ set -eo pipefail
|
||||
readonly ROOT_DIR="$(cd "$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")" && pwd)"
|
||||
|
||||
install_dependencies() {
|
||||
echo "=====> install_dependencies on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX"
|
||||
|
||||
mkdir -p "$ROOT_DIR/build/"
|
||||
HEROKUISH_VERSION=$(grep HEROKUISH_VERSION "${ROOT_DIR}/deb.mk" | head -n1 | cut -d' ' -f3)
|
||||
HEROKUISH_PACKAGE_NAME="herokuish_${HEROKUISH_VERSION}_amd64.deb"
|
||||
@@ -25,54 +27,59 @@ install_dependencies() {
|
||||
PROCFILE_UTIL_PACKAGE_NAME="procfile-util_${PROCFILE_VERSION}_amd64.deb"
|
||||
curl -L "https://packagecloud.io/dokku/dokku/packages/ubuntu/trusty/procfile-util_${PROCFILE_VERSION}_amd64.deb/download.deb" -o "$ROOT_DIR/build/${PROCFILE_UTIL_PACKAGE_NAME}"
|
||||
|
||||
sudo add-apt-repository -y ppa:nginx/stable
|
||||
sudo apt-get update
|
||||
sudo apt-get -qq -y install cgroupfs-mount nginx
|
||||
sudo cp "${ROOT_DIR}/tests/dhparam.pem" /etc/nginx/dhparam.pem
|
||||
sudo dpkg -i "${ROOT_DIR}/build/$HEROKUISH_PACKAGE_NAME" \
|
||||
"${ROOT_DIR}/build/$PLUGN_PACKAGE_NAME" \
|
||||
"${ROOT_DIR}/build/$SSHCOMMAND_PACKAGE_NAME" \
|
||||
"${ROOT_DIR}/build/$SIGIL_PACKAGE_NAME" \
|
||||
"${ROOT_DIR}/build/$PROCFILE_UTIL_PACKAGE_NAME"
|
||||
}
|
||||
|
||||
sudo dpkg -i "${ROOT_DIR}/build/$HEROKUISH_PACKAGE_NAME"
|
||||
sudo dpkg -i "${ROOT_DIR}/build/$PLUGN_PACKAGE_NAME"
|
||||
sudo dpkg -i "${ROOT_DIR}/build/$SSHCOMMAND_PACKAGE_NAME"
|
||||
sudo dpkg -i "${ROOT_DIR}/build/$SIGIL_PACKAGE_NAME"
|
||||
sudo dpkg -i "${ROOT_DIR}/build/$PROCFILE_UTIL_PACKAGE_NAME"
|
||||
build_dokku() {
|
||||
echo "=====> build_dokku on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX"
|
||||
"${ROOT_DIR}/contrib/release-dokku" build
|
||||
docker build -t dokku/dokku:test .
|
||||
}
|
||||
|
||||
run_dokku_container() {
|
||||
echo "=====> run_dokku_container on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX"
|
||||
docker run -d \
|
||||
--env DOKKU_HOSTNAME=dokku.me \
|
||||
--name dokku \
|
||||
--publish 3022:22 \
|
||||
--publish 22333:22 \
|
||||
--publish 80:80 \
|
||||
--publish 443:443 \
|
||||
--volume /var/lib/dokku:/mnt/dokku \
|
||||
--volume /var/run/docker.sock:/var/run/docker.sock \
|
||||
dokku/dokku:test
|
||||
|
||||
sleep 1 && docker logs dokku
|
||||
}
|
||||
|
||||
install_dokku() {
|
||||
echo "=====> install_dokku on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX"
|
||||
|
||||
if [[ "$FROM_SOURCE" == "true" ]]; then
|
||||
sudo -E CI=true make -e install
|
||||
return
|
||||
fi
|
||||
|
||||
"${ROOT_DIR}/contrib/release-dokku" build
|
||||
build_dokku
|
||||
run_dokku_container
|
||||
|
||||
echo "dokku dokku/hostname string dokku.me" | sudo debconf-set-selections
|
||||
echo "dokku dokku/key_file string /root/.ssh/id_rsa.pub" | sudo debconf-set-selections
|
||||
echo "dokku dokku/nginx_enable boolean true" | sudo debconf-set-selections
|
||||
echo "dokku dokku/skip_key_file boolean true" | sudo debconf-set-selections
|
||||
echo "dokku dokku/vhost_enable boolean true" | sudo debconf-set-selections
|
||||
echo "dokku dokku/web_config boolean false" | sudo debconf-set-selections
|
||||
sudo dpkg -i "$(cat "${ROOT_DIR}/build/deb-filename")"
|
||||
sudo mkdir -p /usr/local/bin
|
||||
sudo cp -v contrib/dokku-docker-bin.sh /usr/local/bin/dokku
|
||||
}
|
||||
|
||||
# shellcheck disable=SC2120
|
||||
setup_circle() {
|
||||
echo "=====> setup_circle on CIRCLE_NODE_INDEX: $CIRCLE_NODE_INDEX"
|
||||
sudo -E CI=true make -e sshcommand
|
||||
# need to add the dokku user to the docker group
|
||||
sudo usermod -G docker dokku
|
||||
[[ "$1" == "buildstack" ]] && BUILD_STACK=true make -e stack
|
||||
|
||||
install_dependencies
|
||||
install_dokku
|
||||
|
||||
sudo -E make -e setup-deploy-tests
|
||||
bash --version
|
||||
docker version
|
||||
lsb_release -a
|
||||
# setup .dokkurc
|
||||
sudo -E mkdir -p /home/dokku/.dokkurc
|
||||
sudo -E chown dokku:ubuntu /home/dokku/.dokkurc
|
||||
sudo -E chmod 775 /home/dokku/.dokkurc
|
||||
# pull node:4 image for testing
|
||||
sudo docker pull node:4
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user