我正在使用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
嗨,我是使用 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 …
我有一个应用程序,使用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
我有一个带有MongoDB和NodeJS的Angular 4应用程序。我一直在研究在亚马逊AWS EC2实例上自动部署我的应用程序。
我正在为我的项目使用BitBucket 存储库。阅读文章后,我遇到了Bitbucket Pipeline和AWS CodeDeploy。为了完成它,有许多场景和配置需要完成。一整天阅读所有文档后,我真的很困惑。
我想在将代码推送到特定分支时自动部署我的应用程序。
有人可以提供使用 Bitbucket Pipeline 和 AWS CodeDeploy 自动部署 Angular 4 (MEAN) 应用程序的分步指南吗?
如果您需要任何其他信息,请告诉我。谢谢你。
deployment amazon-ec2 node.js aws-code-deploy bitbucket-pipelines
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”中找不到。
尝试创建并运行从 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) 尝试在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)
当我犯错时请告诉我?
我正在尝试为 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
我正在尝试使用 CodeCommit、ECR 和 ECS 设置部署管道。我的管道通过了源代码和构建步骤。如果我将appspec.yaml文件上传到 s3 存储桶,我可以通过 CodeDeploy 手动部署。由更改我的 CodeCommit 存储库触发的部署总是失败并显示错误:
需要 AppSpec 文件,但在修订版中找不到
当我查看失败部署的详细信息时,我可以调出修订位置,显示如下:
我在故障排除代码部署部分看到一些编辑器可能会导致问题。我在 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) 我正在尝试使用AWS EC2实例来测试我的ML项目。在包安装过程中TensorFlow每次都会被kill掉。
我使用 AWS 试用 EC2t2.micro类型实例进行测试。
t2.micro11GBUbuntu Server 20.04 LTS (HVM), SSD Volume Type对此有什么解决办法吗?
aws-code-deploy ×10
amazon-ec2 ×2
node.js ×2
amazon-ecs ×1
amazon-iam ×1
aws-cdk ×1
codeship ×1
deployment ×1
iis ×1
powershell ×1
yaml ×1