标签: aws-code-deploy

如何在 CodeDeploy 中设置和获取环境变量

我想导出一些变量,例如环境名称和使用代码部署 Amazon 执行的脚本中的访问权限

amazon-web-services aws-code-deploy

5
推荐指数
1
解决办法
2006
查看次数

通过代码部署服务在AWS中进行跨账户部署

我们有两个 AWS 帐户,称为 Dev 和 Prod。在开发帐户中,我们的代码构建、代码管道和代码部署服务是使用 S3 配置的。但是,在产品帐户中,正在为生产网站运行自动缩放组。根据我们的要求,我们希望通过跨帐户部署将代码从开发帐户部署到产品帐户。基本上,代码构建和代码管道将执行代码,并通过使用代码部署将其部署在 Prod 帐户的自动缩放组中。

有人可以给我们一些关于实现同样目标的见解吗?

谢谢

amazon-web-services amazon-iam aws-code-deploy aws-codepipeline aws-codebuild

5
推荐指数
1
解决办法
5280
查看次数

CodeDeploy 代理在修订版相对路径“appspec.yml”的解压修订版目录中找不到 AppSpec 文件

根据以下错误消息,codedeploy 将我的存档文件夹复制到某个临时位置。我可以在部署存档文件夹后找到我的 archive.zip 文件夹。

CodeDeploy 代理在修订版相对路径“appspec.yml”的解压修订版目录中未找到 AppSpec 文件。该修订版本已解压到目录“/opt/codedeploy-agent/deployment-root/59a04892-4afd-4e82-9335-52e8b6047d4b/d-WZDFGDBHU/deployment-archive”,并且需要 AppSpec 文件,但在路径“/”中找不到opt/codedeploy-agent/deployment-root/59a04892-4afd-4e82-9335-52e8b6047d4b/d-WZDFGDBHU/deployment-archive/appspec.yml”。有关更多信息,请参阅 AWS 网站上的 AWS CodeDeploy Appspec 文档

但它在部署存档文件夹之后立即看起来是 appspec.yml 。但它位于deployment-archive/archive/appspec.yml

appspec.yml 和我的 war 文件都压缩在 S3 中

如何解决这个问题?

aws-code-deploy

5
推荐指数
2
解决办法
6149
查看次数

用于覆盖文件的 CodeDeploy 配置

我正在通过CodeDeploy.logstash 配置在目标实例中进行部署/etc/logstash/

这是 3 阶段的最后一步CodePipeline

但是它失败并显示消息

部署失败,因为此位置已存在指定文件:/etc/logstash/pipelines.yml

如何指示CodeDeploy覆盖文件?

amazon-web-services aws-code-deploy aws-codepipeline

5
推荐指数
2
解决办法
9304
查看次数

CodeDeploy allowedTraffic 失败,但我的代码仍然部署在实例上

我正在使用 codeDeploy,当我运行时它会陷入进度模式。通过进一步研究这个问题,我发现它失败是因为AllowTraffic脚本。它只是说脚本失败。我查看了日志,但没有错误。AWS 文档还表明,这可能是运行状况检查问题,但我的两个实例在我的目标组中都运行良好。

奇怪的是,尽管状态失败,代码仍然被部署。

有人可以帮忙吗?

非常感谢

amazon-ec2 aws-code-deploy

5
推荐指数
1
解决办法
5032
查看次数

部署指定修订版是空文件,但提供的修订版是 zip 文件

我正在使用集成到CodePipeline中的CodeDeploy。我正在尝试将映像从ecr部署到ecs

整个基础设施是用CloudFormation构建的。

管道部署组的模板:

ApplicationName=cls.application.ApplicationName,
DeploymentGroupName='DeploymentGroup',
DeploymentConfigName='CodeDeployDefault.ECSAllAtOnce',
ServiceRoleArn=GetAtt(cls.role, 'Arn'),
AutoRollbackConfiguration={
    'enabled': True,
    'events': ['DEPLOYMENT_FAILURE', 'DEPLOYMENT_STOP_ON_ALARM', 'DEPLOYMENT_STOP_ON_REQUEST']
},
DeploymentStyle={
    'deploymentType': 'BLUE_GREEN',
    'deploymentOption': 'WITH_TRAFFIC_CONTROL'
},
BlueGreenDeploymentConfiguration={
    'terminateBlueInstancesOnDeploymentSuccess': {
        'action': 'TERMINATE',
        'terminationWaitTimeInMinutes': 5
    },
    'deploymentReadyOption': {
        'actionOnTimeout': 'CONTINUE_DEPLOYMENT',
    },
},
LoadBalancerInfo= <Some irrelevant config>
EcsServices=[
    {
        'serviceName': 'WordpressService',
        'clusterName': 'WordpressCluster'
    },
]
Run Code Online (Sandbox Code Playgroud)

到目前为止 - 配置看起来非常简单。管道本身的配置包含 2 个阶段:

ArtifactStore=ArtifactStore(
    Location='SomeS3Location',
    Type='S3'
),
Name='WordpressPipeline',
RoleArn=GetAtt(cls.role, 'Arn'),
Stages=[
    Stages(
        Name='SourceStage',
        Actions=[
            Actions(
                Name='SourceAction',
                ActionTypeId=ActionTypeId(
                    Category='Source', …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-ecs aws-cloudformation aws-code-deploy amazon-ecr

5
推荐指数
1
解决办法
2953
查看次数

如何使用 AWS 代码部署来部署简单的 AWS lambda 函数而不使用 SAM?

文档说我应该在调用 codedeploy 时以 .yaml 或 .json 格式指定应用程序修订版。但是如何通过代码部署来部署实际的功能代码呢?

无法提供包含代码的 zip 文件。仅接受 json 和 yaml 文件。如何通过 codedeploy 实际更新/添加 lambda 函数代码?下图显示,即使通过 aws 控制台,我也只能指定 yaml 或 json appspec 文件。

我如何在这里实际部署我的功能代码? ![文本]()

amazon-web-services aws-code-deploy aws-lambda

5
推荐指数
1
解决办法
1348
查看次数

CodeDeploy部署失败:错误的解释器/ bin/sh ^ M.

我有一个Meteor应用程序,我正在使用CodeDeploy(本地构建 - > S3 - > CodeDeploy - > EC2)在EC2实例上进行部署.

我遇到了一个星期前没有的问题:在创建部署时,它在ApplicationStop步骤中失败并显示消息

[stderr]bash: /opt/codedeploy-agent/deployment-root/.../scripts/stop.sh: /bin/sh^M: bad interpreter: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我知道这应该是Windows样式行结尾的问题,但它看起来不是

~$ md5sum stop.sh
d41d8cd98f00b204e9800998ecf8427e stop.sh
~$ dos2unix stop.sh
~$ md5sum stop.sh
d41d8cd98f00b204e9800998ecf8427e stop.sh
Run Code Online (Sandbox Code Playgroud)

如果我在十六进制编辑器中打开文件,行结尾看起来像0x0a,而不是0x0d0a(Windows样式).


    00000000: 2321 2f62 696e 2f73 680a 736f 7572 6365  #!/bin/sh.source
    00000010: 202f 686f 6d65 2f65 6332 2d75 7365 722f   /home/ec2-user/
    ...

为了确定,我从S3下载了部署档案,提取并再次检查 - 行结尾确实如上所述.

这很奇怪,因为我一周前没有遇到问题,如果我尝试部署一周前成功部署的版本,就会发生同样的问题(!!)......即使它当时正在工作.

帮助赞赏!

[更新]:从我的stop.sh脚本中删除第一行/bin/sh,不会改变任何内容.我想sudo ln -s /bin/sh /bin/sh^M应该为一个肮脏的快速修复工作,但我想要一个更清洁的解决方案.:/

[更新2] …

line-endings amazon-ec2 amazon-web-services aws-code-deploy

4
推荐指数
1
解决办法
631
查看次数

AWS CodeDeploy部署日志在哪里找到?

我可以在Codedeploy下的AWS控制台中看到日志,当我选择部署然后单击时choose events,它们似乎被截断.如果我SSH到实例,那些codedeploy部署日志位于何处?

我看到登录/var/log/aws/codedeploy-agent,但那里的日志与CodeDeploy中的日志不匹配.

我在亚马逊Linux上运行.

amazon-web-services aws-code-deploy

4
推荐指数
2
解决办法
2543
查看次数

AWS代码部署+ bitbucket =失败(错误代码HEALTH_CONSTRAINTS)

我根据这篇文章设置了一切

https://aws.amazon.com/tw/blogs/apn/announcing-atlassian-bitbucket-support-for-aws-codedeploy/

这是我的环境:

实例(免费层与amazon linux)
- apache 2.4安装

安全组
- 只有22(只有我的ip可以访问)和80端口都打开了

Iptables停了

设置了2个角色
- 一个用于链接S3 < - > bitbucket(附加自定义策略)
- 一个角色用于部署组(附加AWSCodeDeployRole策略)

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "codedeploy.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

试图部署的脚本
https://s3.amazonaws.com/aws-codedeploy-us-east-1/samples/latest/SampleApp_Linux.zip

权限 / var/www/*由ec2-user拥有,拥有755权限

代理 服务codedeploy-agent status = AWS CodeDeploy代理作为PID 7200运行

线索: 我的s3存储桶中有一些zip文件被上传用于每次部署.

错误代码:HEALTH_CONSTRAINTS

任何人都知道部署失败的原因是什么?

update1使用iam配置文件重新启动实例后,可以部署应用程序.但它仍然失败,当我点击查看事件时,有如下日志:

Error CodeScriptFailed
Script Namescripts/install_dependencies
MessageScript at specified location: scripts/install_dependencies run as user root failed with …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-code-deploy

4
推荐指数
2
解决办法
5041
查看次数