登录
首页 >  Golang >  Go问答

使用CodeDeploy在EC2上部署Golang应用

来源:stackoverflow

时间:2024-02-16 22:18:22 481浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《使用CodeDeploy在EC2上部署Golang应用》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我正在尝试使用 codedeploy 将一个简单的 golang web 服务器部署到 ec2。部署失败,出现以下错误 {\"error_code\":6,\"script_name\":\"scripts/start.sh\",\"message\":\"指定位置的脚本:scripts/start.sh 失败关闭 stdout\"。 codedeploy相关文件:

appspec.yml

version: 0.0

os: linux

files:
  - source: /main.go
    destination: /app/
  - source: /index.html
    destination: /app/
  - source: /config.json
    destination: /app/
  - source: /webserver.log
    destination: /app/

hooks:
  beforeinstall:
    - location: scripts/cleanup.sh
      timeout: 180
      runas: root
  afterinstall:
    - location: scripts/build.sh
      timeout: 180
      runas: root
  applicationstart:
    - location: scripts/start.sh
      timeout: 180
      runas: root

脚本/cleanup.sh

sudo rm /app -rf
sudo mkdir /app
sudo chown -r ec2-user:ec2-user /app

sudo yum update -y
sudo yum install -y golang

脚本/build.sh

go build -o /app/webserver /app/main.go

脚本/start.sh

/app/webserver &

我想这与我启动服务器的方式有关,但我不擅长 linux 的复杂性,因此非常感谢更详细的解释。

完整的网络服务器源代码可以在 github 中找到。


解决方案


我认为它与 stdout、stderr 和 stdin 有关:

在 & 之前添加以下字符串

/dev/null 2> /dev/null < /dev/null

The source

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《使用CodeDeploy在EC2上部署Golang应用》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>