Как остановить и перезапустить приложение Golang, Nginx и Systemd из Travis CI - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь научиться непрерывному развертыванию, развернув приложение 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, который не поддерживается поставщиком.

...