标签: aws-code-deploy

通过Amazon Web Service CodeDeploy通过appspec.yml设置目录所有者和权限

我正在使用CodeDeploy AWS部署系统通过Codeship部署Node.js应用程序.

我正在使用appspec.yml文件来设置其中一个已部署目录的所有者和权限.

我想允许读取/写入将在部署的指定文件夹中创建的任何文件.Web应用程序开始运行后,将创建文件.

目前我的appspec.yml包含以下内容:

version: 0.0
os: linux
files:
  - source: /
    destination: /var/www/APPLICATION_NAME
permissions:
  - object: /var/www/APPLICATION_NAME/tmpfiles
    mode: 644
    owner: ec2-user
    type:
      - directory
Run Code Online (Sandbox Code Playgroud)

yaml amazon-web-services continuous-deployment codeship aws-code-deploy

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

代码部署 ApplicationStart 卡在使用节点挂起

嗨,我是使用 Code Deploy 的新手。我正在尝试启动一个节点应用程序。我的根目录中有 setup.sh、start.sh 和 app.js。

这是我的 appspec.yml 文件

version: 0.0
os: linux
files:
 - source: /
   destination: /
hooks:
  Install:
    - location: setup.sh
      timeout: 3600
  ApplicationStart:
    - location: start.sh
      timeout: 3600
Run Code Online (Sandbox Code Playgroud)

设置文件

yum -y install nodejs npm --enablerepo=epel
npm install
Run Code Online (Sandbox Code Playgroud)

启动文件

node /app.js
Run Code Online (Sandbox Code Playgroud)

app.js(只是一个基本的虚拟服务器)

var express = require("express");
var app = express();

app.get("/",function(req,res) {
    res.send("Hello world")
})


var server = app.listen(8080,function() {
    console.log("Listening at " + server.address().address + ": " + server.address().port);
});
Run Code Online (Sandbox Code Playgroud)

安装步骤成功完成,但代码部署在执行 ApplicationStart 步骤时卡在挂起状态。

我很确定这是因为 app.js …

amazon-web-services node.js aws-code-deploy

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

AWS CodeDeploy Powershell脚本无法在IIS服务器中创建网站和池

我有一个应用程序,使用AWS Codedeploy将其部署到运行Windows Server 2012 R2且安装了代码部署代理的EC2实例。

代码修订版已成功从S3存储桶下载到EC2实例,但是PowerShell脚本引发错误。

只是要通知您,在EC2实例中手动执行脚本时,脚本运行成功。

这是我的appspec.yml和before-install.bat

  • appspec.yml

    version: 0.0 os: windows files: - source: \index.html destination: C:\DemoApp\MySite hooks: BeforeInstall: - location: \before-install.bat timeout: 900

  • before-install.bat

    C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -Command "& {Import-Module WebAdministration; New-Item iis:\Sites\MySite -bindings @{protocol=\"http\";bindingInformation=\":80:\"} -physicalPath c:\DemoApp\MySite; New-Item IIS:\AppPools\MyPool; Set-ItemProperty IIS:\Sites\MySite -name applicationPool -value MyPool;}"

codedeploy-agent-deployments.log

脚本-\ before-install.bat C:\ Windows \ system32> C:\ Windows \ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe-命令“&{Set-ExecutionPolicy Unrestricted; Import-Module WebAdministration; New-Item iis :\ Sites \ MySite -bindings @ {protocol = \“ http \”; bindingInformation …

iis powershell amazon-web-services windows-server-2012-r2 aws-code-deploy

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

使用 Bitbucket Pipeline 和 AWS CodeDeploy 自动部署 Angular 4 应用程序

我有一个带有MongoDBNodeJSAngular 4应用程序。我一直在研究在亚马逊AWS EC2实例上自动部署我的应用程序。

我正在为我的项目使用BitBucket 存储库。阅读文章后,我遇到了Bitbucket PipelineAWS CodeDeploy。为了完成它,有许多场景和配置需要完成。一整天阅读所有文档后,我真的很困惑。

我想在将代码推送到特定分支时自动部署我的应用程序。

有人可以提供使用 Bitbucket Pipeline 和 AWS CodeDeploy 自动部署 Angular 4 (MEAN) 应用程序的分步指南吗?

如果您需要任何其他信息,请告诉我。谢谢你。

deployment amazon-ec2 node.js aws-code-deploy bitbucket-pipelines

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

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

CodeDeploy 代理未在解压缩的修订目录中的修订相对路径"appspec.yml" 中找到 AppSpec 文件。

修订版解压到目录“/opt/codedeploy-agent/deployment-root/0bb5a5aa-5894-4575-a69c-a7a4e79b4cdf/d-HQ5GBC7SW/deployment-archive”

AppSpec 文件是预期的,但在路径“/opt/codedeploy-agent/deployment-root/0bb5a5aa-5894-4575-a69c-a7a4e79b4cdf/d-HQ5GBC7SW/deployment-archive/appspec.yml”中找不到。

amazon-web-services aws-code-deploy

4
推荐指数
3
解决办法
8438
查看次数

AWS CodePipeline - 权限不足无法访问工件错误

尝试创建并运行从 Github 拉取的 AWS CodePipeline,构建并部署到 EC2 实例。管道如下:

源 (Github) -> 构建 (AWS CodeBuild) -> 部署 (AWS CodeDeploy)

源和构建步骤均成功。但是,部署始终失败,并出现以下错误:


权限不足无法使用位于 Amazon S3 工件存储桶“codepipeline-us-east-1-[redacted]”中的 Amazon S3 对象密钥“[redacted]-2nd-test-pip/BuildArtif/IbiHzen”访问工件。提供的角色没有足够的权限。


以下是 CodeBuild 服务角色策略的 IAM 策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Resource": [
                "arn:aws:logs:us-east-1:362490217134:log-group:/aws/codebuild/[Redacted]-Build-Project",
                "arn:aws:logs:us-east-1:362490217134:log-group:/aws/codebuild/[Redacted]-Build-Project:*"
            ],
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ]
        },
        {
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::codepipeline-us-east-1-*"
            ],
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:GetObjectVersion"
            ]
        },
        {
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::codepipeline-us-east-1-[Redacted]/*"
            ],
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:GetObjectVersion"
            ]
        }
    ]
} …
Run Code Online (Sandbox Code Playgroud)

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

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

必须为CODE_DEPLOY部署控制器配置部署组的ECS服务

尝试在Code Deploy中为ECS群集创建部署组时遇到以下错误。我创建了基于CodeDeploy ECS及其策略的IAM:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeServices",
                "ecs:CreateTaskSet",
                "ecs:UpdateServicePrimaryTaskSet",
                "ecs:DeleteTaskSet",
                "elasticloadbalancing:DescribeTargetGroups",
                "elasticloadbalancing:DescribeListeners",
                "elasticloadbalancing:ModifyListener",
                "elasticloadbalancing:DescribeRules",
                "elasticloadbalancing:ModifyRule",
                "lambda:InvokeFunction",
                "cloudwatch:DescribeAlarms",
                "sns:Publish",
                "s3:GetObject",
                "s3:GetObjectMetadata",
                "s3:GetObjectVersion"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "iam:PassRole"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": [
                        "ecs-tasks.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

当我犯错时请告诉我?

在此处输入图片说明

amazon-ecs amazon-iam aws-code-deploy

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

使用 AWS CodeBuild/Deploy/Pipeline 为 AWS CDK 应用程序设置 CI/CD

我正在尝试为 dotnet 应用程序设置 CI/CD 管道,该应用程序使用 AWS Lambda 和 AWS CDK 作为基础设施。源代码位于 github 上,我们有一个 Jenkins 管道来运行测试并发布工件。我想使用工件并部署(或者更好地使用 Code Deploy)

我可以使用CodePipeline来运行吗cdk deploy?如何使用 CodeDeploy 进行 dotnet 测试和 dotnet 发布?然后将工件传递给 CodePipeline

continuous-integration continuous-delivery aws-code-deploy aws-codepipeline aws-cdk

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

AWS CodePipeline“需要一个 AppSpec 文件,但在修订版中找不到”

我正在尝试使用 CodeCommit、ECR 和 ECS 设置部署管道。我的管道通过了源代码和构建步骤。如果我将appspec.yaml文件上传到 s3 存储桶,我可以通过 CodeDeploy 手动部署。由更改我的 CodeCommit 存储库触发的部署总是失败并显示错误:

需要 AppSpec 文件,但在修订版中找不到

当我查看失败部署的详细信息时,我可以调出修订位置,显示如下:

修订 zip 文件内容

我在故障排除代码部署部分看到一些编辑器可能会导致问题。我在 linux 上使用 vscode,所以我认为这不是问题。此外,如果我将相同的 appspec 文件上传到 s3 并从手动部署中引用它,则它可以正常工作。

我也尝试上传相同的文件,但名为appspec.yml. 还是失败了。

此部署使用的角色具有完全 s3 访问权限,不确定是否可能是任何其他与权限相关的问题。

这是我的代码管道定义:

{
"pipeline": {
    "roleArn": "arn:aws:iam::690517313378:role/service-role/AWSCodePipelineServiceRole-us-east-1-blottermappertf", 
    "stages": [
        {
            "name": "Source", 
            "actions": [
                {
                    "inputArtifacts": [], 
                    "name": "Source", 
                    "region": "us-east-1", 
                    "actionTypeId": {
                        "category": "Source", 
                        "owner": "AWS", 
                        "version": "1", 
                        "provider": "CodeCommit"
                    }, 
                    "outputArtifacts": [
                        {
                            "name": "SourceArtifact"
                        }
                    ], 
                    "configuration": {
                        "PollForSourceChanges": "false", 
                        "BranchName": "master", …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-code-deploy

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

AWS ec2 实例上的 Tensorflow 安装被终止

我正在尝试使用AWS EC2实例来测试我的ML项目。在包安装过程中TensorFlow每次都会被kill掉。

我使用 AWS 试用 EC2t2.micro类型实例进行测试。

  • 类型:t2.micro
  • vCPU:1
  • 记忆:1GB
  • 操作系统:Ubuntu Server 20.04 LTS (HVM), SSD Volume Type

在此输入图像描述

对此有什么解决办法吗?

amazon-ec2 aws-code-deploy tensorflow2.0

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