如何从Travis CI停止并重新启动Golang应用程序,Nginx和Systemd

时间:2019-03-13 19:39:33

标签: travis-ci digital-ocean continuous-deployment

我正在尝试通过使用Travis CI部署Golang应用程序来学习连续部署。我主要来自this tutorial的Travis部分。问题是,如果我已经在运行该应用程序的实例,那么Travis不会成功部署新的构建。我必须先手动停止并从Ubuntu计算机上删除该应用程序,然后才能通过yml文件中所示的scp进行部署:

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

如何在Travis中停止和删除Golang应用,然后在转移后启动新的构建?

由于Nginx和Travis在生产环境中处理了该应用程序,因此如何从Travis重新启动Nginx和systemd单元?

我已经搜索了Google,还查看了deployment上的Travis文档,但没有发现任何东西。我正在使用DigitalOcean,这不是受支持的提供商。

0 个答案:

没有答案