Amazon web services 部署到Amazon Elastic Beanstalk时出现信号量CI错误
我刚刚为我正在处理的一个新项目设置了CI,我的测试成功运行并完成,但当Semaphore试图将我的代码上载到我的Amazon Elastic Beanstalk实例时,我得到了错误: Elastic Beanstalk上的应用程序代码版本与此部署中信号量发送的版本不匹配。有关更多信息,请查看AWS Elastic Beanstalk控制台 打印JSON对象后:Amazon web services 部署到Amazon Elastic Beanstalk时出现信号量CI错误,amazon-web-services,amazon-elastic-beanstalk,semaphore-ci,Amazon Web Services,Amazon Elastic Beanstalk,Semaphore Ci,我刚刚为我正在处理的一个新项目设置了CI,我的测试成功运行并完成,但当Semaphore试图将我的代码上载到我的Amazon Elastic Beanstalk实例时,我得到了错误: Elastic Beanstalk上的应用程序代码版本与此部署中信号量发送的版本不匹配。有关更多信息,请查看AWS Elastic Beanstalk控制台 打印JSON对象后: { "Environments": [ { "ApplicationName": "my-app-server"
{
"Environments": [
{
"ApplicationName": "my-app-server",
"EnvironmentName": "myappserver",
"VersionLabel": "Sample Application",
"Status": "Ready",
"EnvironmentLinks": [],
"EnvironmentId": "my_environment_id",
"EndpointURL": "my_server_ip",
"SolutionStackName": "64bit Amazon Linux 2016.03 v2.1.0 running Node.js",
"CNAME": "my_cname",
"Health": "Red",
"AbortableOperationInProgress": false,
"Tier": {
"Version": " ",
"Type": "Standard",
"Name": "WebServer"
},
"HealthStatus": "Degraded",
"DateUpdated": "2016-04-14T16:10:46.905Z",
"DateCreated": "2016-04-14T15:44:41.965Z"
}
]
}
注意:我遗漏了一些细节来隐藏我的EB实例的身份
在部署到运行Node.js的空白Elastic Beanstalk实例时,我不确定为什么会出现此错误。当然,如果我没有配置环境,部署应该命中EB并成功安装自身
我按照信号量指南尝试部署我的应用程序。这是一篇老文章,但我刚刚遇到了这个问题,它似乎只是一个通用的EB部署问题,其中的错误消息具有误导性。我有从
.ebextentions
文件运行的自定义命令,当其中一个命令失败时,我会收到错误:
Elastic Beanstalk上的应用程序代码版本与此部署中信号量发送的版本不匹配
您可以从AWS控制台共享事件吗?你的健康状况下降了,所以应该有一些关于为什么会发生这种情况的信息。您还应该在AWS控制台上检查日志,在那里您最有可能找到问题的根源。顺便说一句,信号灯显示的错误消息是因为deploy没有成功更新您的应用程序代码。@rastasheep我对问题是什么有点了解。信号量CI正在发送节点版本为4.3.2的节点代码,但Elastic beanstalk最多只支持4.3.0。我看过EB支持的其他版本,但信号量始终是前面版本的.2。我手动部署了代码,一切正常。有什么想法吗?如果您需要某些特定的节点版本,您可以在部署中使用附加命令轻松切换或安装特定的节点版本,例如
nvm install 4.3.0
,但elastic beanstalk不支持与信号量兼容的版本我理解,但您可以“手动”在信号量上安装任何版本通过添加我提到的命令aboce。