Я пытаюсь научиться непрерывному развертыванию, развернув приложение Golang с Travis CI. Я черпал в основном из части Трэвиса этого урока . Проблема в том, что если у меня уже есть экземпляр запущенного приложения, Travis не сможет успешно развернуть новую сборку. Я должен остановить и удалить приложение с моего компьютера с Ubuntu вручную, прежде чем развертывание может быть выполнено через scp, как показано в моем файле yml:
language: go
go:
- 1.11.4
script:
- GOOS=linux GOARCH=amd64 go build -v main.go
addons:
ssh_known_hosts: my_ubuntu_machine_IP
before_install:
- openssl_stuff_here
-in travis_rsa.enc -out travis_rsa -d
- chmod 600 travis_rsa
- mv travis_rsa ~/.ssh/id_rsa
before_deploy:
- eval "$(ssh-agent -s)"
- ssh-add ~/.ssh/id_rsa
after_success:
- scp main $SSH_USER@$SSH_HOST:/path/to/directory
Как остановить и удалить приложение Golang из Travis, а затем запустить новую сборку после переноса?
Как перезапустить Nginx и системный модуль из Travis, так как они обрабатывают это приложение в работе?
Я погуглил, а также просмотрел документы Travis по развертыванию , но ничего не нашел. Я использую DigitalOcean, который не поддерживается поставщиком.