Deployment 代码部署报告:";部署失败:没有主机成功";,从S3.zip修订版部署到EC2实例时

Deployment 代码部署报告:";部署失败:没有主机成功";,从S3.zip修订版部署到EC2实例时,deployment,jenkins,amazon-s3,amazon-ec2,aws-code-deploy,Deployment,Jenkins,Amazon S3,Amazon Ec2,Aws Code Deploy,我正在尝试使用托管在单独EC2实例中的Jenkins创建一个从Bitbucket到aws EC2实例的自动化CI工作流 我创建并配置了所需的一切(IAM角色、aws客户端和代码部署代理),如下文所述: 顺便说一句,所有实例都基于ubuntu并在私有VPC中运行,我正在部署node.js应用程序 例如,每次我推到Bitbucket repo时,我都可以成功地在S3 bucket中创建一个.zip构建。但在CodeDeployDashboard中,我得到了“部署失败,没有主机成功”错误消息 每次

我正在尝试使用托管在单独EC2实例中的Jenkins创建一个从Bitbucket到aws EC2实例的自动化CI工作流

我创建并配置了所需的一切(IAM角色、aws客户端和代码部署代理),如下文所述:

顺便说一句,所有实例都基于ubuntu并在私有VPC中运行,我正在部署node.js应用程序

例如,每次我推到Bitbucket repo时,我都可以成功地在S3 bucket中创建一个.zip构建。但在CodeDeployDashboard中,我得到了“部署失败,没有主机成功”错误消息

每次启动流程时,“进行中”状态需要5分钟以上的时间

当部署过程以失败状态结束时,我检查了/var/log/aws/codedeploy agent/codedeploy-agent.log文件,下面是我得到的:

2015-12-04 17:17:36 INFO  [codedeploy-agent(28199)]: Stopping master 27971
2015-12-04 17:17:36 INFO  [codedeploy-agent(27971)]: master 27971: Received TERM - stopping children and shutting down
2015-12-04 17:17:36 INFO  [codedeploy-agent(27975)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller of master 27971: Received TERM - setting internal shutting down flag and possibly finishing last run
2015-12-04 17:17:55 INFO  [codedeploy-agent(27975)]: [Aws::CodeDeployCommand::Client 200 60.113784 0 retries] poll_host_command(host_identifier:"arn:aws:ec2:us-west-2:219450671821:instance/i-348913ed")  

2015-12-04 17:17:56 INFO  [codedeploy-agent(27975)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller of master 27971: shutting down
2015-12-04 17:17:57 INFO  [codedeploy-agent(28219)]: master 28219: Spawned child 1/1
2015-12-04 17:17:57 DEBUG [codedeploy-agent(28223)]: Registering Plugins: ["codedeploy"].
2015-12-04 17:17:57 DEBUG [codedeploy-agent(28223)]: Loading plugin codedeploy from /opt/codedeploy-agent/lib/instance_agent/plugins/codedeploy/register_plugin
2015-12-04 17:17:57 DEBUG [codedeploy-agent(28223)]: Registered Plugins: #<Set: {InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller}>.
2015-12-04 17:17:57 INFO  [codedeploy-agent(28223)]: On Premises config file does not exist or not readable
2015-12-04 17:17:57 DEBUG [codedeploy-agent(28223)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Configuring deploy control client: Region = "us-west-2"
2015-12-04 17:17:57 DEBUG [codedeploy-agent(28223)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Deploy control endpoint override = nil
2015-12-04 17:17:57 DEBUG [codedeploy-agent(28223)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Initializing Host Agent: Host Identifier = arn:aws:ec2:us-west-2:219450671821:instance/i-348913ed
2015-12-04 17:17:57 DEBUG [codedeploy-agent(28223)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Validating CodeDeploy Plugin Configuration
2015-12-04 17:17:57 DEBUG [codedeploy-agent(28223)]: InstanceAgent::Plugins::CodeDeployPlugin::CodeDeployControlCertVerifier: Actual certificate subject is '/C=US/ST=Washington/L=Seattle/O=Amazon.com, Inc./CN=codedeploy-commands.us-west-2.amazonaws.com'
2015-12-04 17:17:57 DEBUG [codedeploy-agent(28223)]: InstanceAgent::Plugins::CodeDeployPlugin::CodeDeployControlCertVerifier: Actual certificate subject is '/C=US/ST=Washington/L=Seattle/O=Amazon.com, Inc./CN=codedeploy-commands.us-west-2.amazonaws.com'
2015-12-04 17:17:57 DEBUG [codedeploy-agent(28223)]: InstanceAgent::Plugins::CodeDeployPlugin::CodeDeployControlCertVerifier: Actual certificate subject is '/C=US/ST=Washington/L=Seattle/O=Amazon.com, Inc./CN=codedeploy-commands.us-west-2.amazonaws.com'
2015-12-04 17:17:57 DEBUG [codedeploy-agent(28223)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: CodeDeploy Plugin Configuration is valid
2015-12-04 17:17:57 DEBUG [codedeploy-agent(28223)]: InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Calling PollHostCommand:
2015-12-04 17:17:58 INFO  [codedeploy-agent(28219)]: Started master 28219 with 1 children
2015-12-04 17:18:58 INFO  [codedeploy-agent(28223)]: [Aws::CodeDeployCommand::Client 200 60.534255 0 retries] poll_host_command(host_identifier:"arn:aws:ec2:us-west-2:219450671821:instance/i-348913ed")  
2015-12-0417:17:36信息[代码部署代理(28199)]:停止主机27971
2015-12-04 17:17:36信息[代码部署代理(27971)]:主机27971:接收到的术语-停止子项并关闭
2015-12-04 17:17:36信息[codedeploy agent(27975)]:InstanceAgent::Plugins::CodeDeployPlugin::master 27971的CommandPoller:收到的术语-设置内部关闭标志并可能完成最后一次运行
2015-12-04 17:17:55信息[codedeploy agent(27975)]:[Aws::CodeDeployCommand::Client 200 60.113784 0重试]轮询主机命令(主机标识符:“arn:Aws:ec2:us-west-2:219450671821:instance/i-348913ed”)
2015-12-04 17:17:56信息[codedeploy agent(27975)]:InstanceAgent::Plugins::CodeDeployPlugin::master 27971的CommandPoller:关闭
2015-12-04 17:17:57信息[代码部署代理(28219)]:主控28219:产卵子1/1
2015-12-04 17:17:57调试[codedeploy代理(28223)]:注册插件:[“codedeploy”]。
2015-12-04 17:17:57调试[codedeploy代理(28223)]:从/opt/codedeploy代理/lib/instance_代理/plugins/codedeploy/register_插件加载插件codedeploy
2015-12-04 17:17:57调试[代码部署代理(28223)]:注册的插件:#。
2015-12-04 17:17:57信息[codedeploy agent(28223)]:本地配置文件不存在或不可读
2015-12-04 17:17:57调试[codedeploy agent(28223)]:InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller:配置部署控制客户端:Region=“us-west-2”
2015-12-04 17:17:57调试[codedeploy agent(28223)]:InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller:部署控制端点覆盖=nil
2015-12-04 17:17:57调试[codedeploy agent(28223)]:InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller:初始化主机代理:主机标识符=arn:aws:ec2:us-west-2:219450671821:instance/i-348913ed
2015-12-04 17:17:57调试[codedeploy代理(28223)]:InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller:验证codedeploy插件配置
2015-12-04 17:17:57调试[codedeploy agent(28223)]:InstanceAgent::Plugins::CodeDeployPlugin::CodeDeployControlCertVerifier:实际的证书主题是“/C=US/ST=Washington/L=Seattle/O=Amazon.com,Inc./CN=codedeploy commands.US-west-2.amazonaws.com”
2015-12-04 17:17:57调试[codedeploy agent(28223)]:InstanceAgent::Plugins::CodeDeployPlugin::CodeDeployControlCertVerifier:实际的证书主题是“/C=US/ST=Washington/L=Seattle/O=Amazon.com,Inc./CN=codedeploy commands.US-west-2.amazonaws.com”
2015-12-04 17:17:57调试[codedeploy agent(28223)]:InstanceAgent::Plugins::CodeDeployPlugin::CodeDeployControlCertVerifier:实际的证书主题是“/C=US/ST=Washington/L=Seattle/O=Amazon.com,Inc./CN=codedeploy commands.US-west-2.amazonaws.com”
2015-12-04 17:17:57调试[codedeploy代理(28223)]:InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller:codedeploy插件配置有效
2015-12-04 17:17:57调试[codedeploy agent(28223)]:InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller:调用PollHostCommand:
2015-12-04 17:17:58信息[codedeploy agent(28219)]:启动master 28219和1个孩子
2015-12-04 17:18:58信息[codedeploy agent(28223)]:[Aws::CodeDeployCommand::Client 200 60.534255 0重试]轮询主机命令(主机标识符:“arn:Aws:ec2:us-west-2:219450671821:instance/i-348913ed”)
配置中是否缺少某些内容?
需要帮忙吗

  • 我刚刚检查了部署Id“d-FEPBDKJMC”的详细信息,在您粘贴的host agent日志中,实例Id似乎是“arn:aws:ec2:us-west-2:219450671821:instance/I-d796060e”,而不是“arn:aws:ec2:us-west-2:219450671821:instance/I-348913ed”。因此,可能应该检查正确实例上的日志

  • 部署将跳过所有生命周期事件,我怀疑host agent根本没有执行命令。由于您提到该实例位于VPC下,请确保Codedeploy和S3端点已列入白名单(我们需要连接到这些端点进行部署)。这里还有一个关于Codedeploy与VPC合作的文档,请单击安全:

  • 我刚刚检查了部署Id“d-FEPBDKJMC”的详细信息,在您粘贴的host agent日志中,实例Id似乎是“arn:aws:ec2:us-west-2:219450671821:instance/I-d796060e”,而不是“arn:aws:ec2:us-west-2:219450671821:instance/I-348913ed”。因此,可能应该检查正确实例上的日志

  • 部署将跳过所有生命周期事件,我怀疑host agent根本没有执行命令。由于您提到该实例位于VPC下,请确保Codedeploy和S3端点已列入白名单(我们需要连接到这些端点进行部署)。这里还有一个关于Codedeploy与VPC合作的文档,请单击安全:


  • 您确定实例具有访问S3的角色吗?我错过了这一点,并且没有将角色附加到我的实例以访问S3


    请参见

    您确定该实例具有RO吗