run tests against native dokku

This commit is contained in:
Michael Hobbs
2019-07-12 10:05:31 -07:00
committed by Jose Diaz-Gonzalez
parent ded056d003
commit 1437b77c6c
3 changed files with 61 additions and 22 deletions

View File

@@ -1,4 +1,5 @@
SYSTEM := $(shell sh -c 'uname -s 2>/dev/null')
DOKKU_SSH_PORT ?= 22
bats:
ifeq ($(SYSTEM),Darwin)
@@ -47,7 +48,7 @@ ci-dependencies: bats shellcheck xmlstarlet
setup-deploy-tests:
ifdef ENABLE_DOKKU_TRACE
echo "-----> Enabling tracing"
docker exec -ti dokku bash -c 'echo "export DOKKU_TRACE=1" >> /home/dokku/dokkurc'
dokku trace:on
endif
@echo "Setting dokku.me in /etc/hosts"
sudo /bin/bash -c "[[ `ping -c1 dokku.me >/dev/null 2>&1; echo $$?` -eq 0 ]] || echo \"127.0.0.1 dokku.me *.dokku.me www.test.app.dokku.me\" >> /etc/hosts"
@@ -60,20 +61,35 @@ endif
@echo "-----> Setting up ssh config..."
ifneq ($(shell ls /root/.ssh/config >/dev/null 2>&1 ; echo $$?),0)
echo "Host dokku.me \\r\\n Port 3022 \\r\\n RequestTTY yes \\r\\n IdentityFile /root/.ssh/dokku_test_rsa" >> /root/.ssh/config
echo "Host dokku.me \\r\\n Port $(DOKKU_SSH_PORT) \\r\\n RequestTTY yes \\r\\n IdentityFile /root/.ssh/dokku_test_rsa" >> /root/.ssh/config
echo "Host 127.0.0.1 \\r\\n Port 22333 \\r\\n RequestTTY yes \\r\\n IdentityFile /root/.ssh/dokku_test_rsa" >> /root/.ssh/config
else ifeq ($(shell grep dokku.me /root/.ssh/config),)
echo "Host dokku.me \\r\\n Port 3022 \\r\\n RequestTTY yes \\r\\n IdentityFile /root/.ssh/dokku_test_rsa" >> /root/.ssh/config
echo "Host dokku.me \\r\\n Port $(DOKKU_SSH_PORT) \\r\\n RequestTTY yes \\r\\n IdentityFile /root/.ssh/dokku_test_rsa" >> /root/.ssh/config
echo "Host 127.0.0.1 \\r\\n Port 22333 \\r\\n RequestTTY yes \\r\\n IdentityFile /root/.ssh/dokku_test_rsa" >> /root/.ssh/config
endif
ifneq ($(wildcard /etc/ssh/sshd_config),)
sed --in-place "s/^#Port 22$\/Port 22/g" /etc/ssh/sshd_config
ifeq ($(shell grep 22333 /etc/ssh/sshd_config),)
sed --in-place "s:^Port 22:Port 22 \\nPort 22333:g" /etc/ssh/sshd_config
endif
service ssh restart
endif
@echo "-----> Installing SSH public key..."
docker exec -ti dokku bash -c "sshcommand acl-remove dokku test"
docker exec -ti dokku bash -c "echo `cat /root/.ssh/dokku_test_rsa.pub` | sshcommand acl-add dokku test"
sudo sshcommand acl-remove dokku test
cat /root/.ssh/dokku_test_rsa.pub | sudo sshcommand acl-add dokku test
# docker exec -ti dokku bash -c "sshcommand acl-remove dokku test"
# docker exec -ti dokku bash -c "echo `cat /root/.ssh/dokku_test_rsa.pub` | sshcommand acl-add dokku test"
@echo "-----> Intitial SSH connection to populate known_hosts..."
sudo ssh -o StrictHostKeyChecking=no dokku@dokku.me help >/dev/null
sudo ssh -o StrictHostKeyChecking=no dokku@127.0.0.1 help >/dev/null
ssh -o StrictHostKeyChecking=no dokku@dokku.me help >/dev/null
ssh -o StrictHostKeyChecking=no dokku@127.0.0.1 help >/dev/null
ifeq ($(shell grep dokku.me /home/dokku/VHOST 2>/dev/null),)
@echo "-----> Setting default VHOST to dokku.me..."
echo "dokku.me" > /home/dokku/VHOST
endif
lint-setup:
@mkdir -p test-results/shellcheck tmp/shellcheck