【发布时间】:2020-08-24 19:55:59
【问题描述】:
我们有一个云形成模板,它将 jenkins.war 部署到 AWS ElasticBeanstalk,并在“ebs.config”中配置并通过 .ebextensions 包含它。已附加 EBS 卷,环境启动成功。
当我们对war文件中的任何更改进行堆栈更新时,当它尝试部署新的war文件时,我们在ElasticBeanstalk中收到错误,对于“ebs.config”中的“01_attach-volume”命令:
堆栈错误:
以下资源更新失败:[JenkinsEBSVol]。
无法更新 AutoEnableIO 以外的卷属性。将属性更改回以前的值并再次更新堆栈。
ElasticBeanstalk 错误:
[实例:i-07ba0e47cc4ae929e] 实例上的命令失败。返回码:255 输出:调用 AttachVolume 操作时发生客户端错误 (VolumeInUse):vol-050a4afd80895bb79 已附加到实例。 .ebextensions/ebs.config 中的命令 01_attach-volume 失败。有关更多详细信息,请使用控制台或 EB CLI 检查 /var/log/eb-activity.log。
更新堆栈时在 ebs.config 中执行命令时抛出错误,因为它试图附加已附加的卷。那么我们如何解决这个问题呢?已附加时如何忽略 attach-volume 命令?任何帮助…………。
堆栈错误:
以下资源更新失败:[JenkinsEBSVol]。
无法更新 AutoEnableIO 以外的卷属性。将属性更改回以前的值并再次更新堆栈。
ElasticBeanstalk 错误:
[实例:i-07ba0e47cc4ae929e] 实例上的命令失败。返回码:255 输出:调用 AttachVolume 操作时发生客户端错误 (VolumeInUse):vol-050a4afd80895bb79 已附加到实例。 .ebextensions/ebs.config 中的命令 01_attach-volume 失败。有关更多详细信息,请使用控制台或 EB CLI 检查 /var/log/eb-activity.log。
ebs.config:
{
"commands": {
"01_clear-if-unmounted": {
"command": "if ! mount | grep /usr/share/tomcat7/.jenkins > /dev/nul; then rm -rf /usr/share/tomcat7/.jenkins; fi"
},
"02_attach-volume": {
"command": "aws ec2 attach-volume --region us-east-1 --volume-id $EBSVolumeId --instance-id $(curl -s http://169.254.169.254/latest/meta-data/instance-id) --device /dev/sdh",
"env": {
"EBSVolumeId": {
"Fn::GetOptionSetting": {
"OptionName": "EBSVolumeId"
}
}
}
},
"03_wait": {
"command": "sleep 10"
},
"04_mkdir": {
"command" : "mkdir /usr/share/tomcat7/.jenkins"
},
"05_trymount": {
"command" : "mount /dev/sdh /usr/share/tomcat7/.jenkins",
"ignoreErrors": "true"
},
"06_format-if-not-already": {
"command": "if find /usr/share/tomcat7/.jenkins -maxdepth 0 -empty | read v; then mkfs -t ext3 /dev/sdh; fi"
}
}
}
【问题讨论】:
-
这是一个 EBS 卷,您正试图说服系统将其从一个实例移动到另一个实例?
标签: amazon-web-services jenkins