我有一个AWS CodePipeline,它在Build Stage中调用CodeBuild.
问题是我如何从CodePipeline中传入一个可以在CodeBuild的buildspec.yml中读取的环境变量?
我知道我可以在CodeBuild中设置环境变量,但是我想为dev,qa和prod环境使用相同的CodeBuild项目.我没有看到如何从CodePipeline传递环境变量,使其一直到buildspec.yml
示例buildspec.yml
version: 0.1
phases:
build:
commands:
- npm install
- npm build -- --env ${CURRENT_ENVIRONMENT}
Run Code Online (Sandbox Code Playgroud)
其中CURRENT_ENVIRONMENT将是我在CodePipeline Stage操作中设置的变量.
我想将Bitbucket的代码集成到AWS Code Pipeline中.我无法找到相同的例子.我的源代码是.Net.有人可以指导我.谢谢.
continuous-integration bitbucket amazon-web-services continuous-deployment aws-codepipeline
我正在尝试在AWS Codepipeline中设置持续部署管道.
在创建管道时,我将"Source provider"作为GitHub提供,然后连接到GitHub.我可以在创建管道页面的"存储库"下拉列表中看到我的公共存储库.但是我无法在此下拉列表中看到我的组织的私人存储库.我在组织中有写访问权限.
如何使AWS Codepipeline可以访问我的组织存储库.
github amazon-web-services continuous-deployment aws-codepipeline
我正在使用git,codebuild和elastic beanstalk构建CI/CD管道.
在代码构建执行期间,当构建由于测试用例的语法错误而失败时,我看到代码构建进展到下一阶段并且最终继续产生工件.
我的理解是如果构建失败,执行应该停止.这是正确的行为吗?
请参阅下面的buildspec.
version: 0.2
phases:
install:
commands:
- echo Installing package.json..
- npm install
- echo Installing Mocha...
- npm install -g mocha
pre_build:
commands:
- echo Installing source NPM placeholder dependencies...
build:
commands:
- echo Build started on `date`
- echo Compiling the Node.js code
- mocha modules/**/tests/*.js
post_build:
commands:
- echo Build completed on `date`
artifacts:
files:
- modules/*
- node_modules/*
- package.json
- config/*
- server.js
Run Code Online (Sandbox Code Playgroud) 我是aws cloudformation的新手; 我想知道是否有人知道一种强制删除堆栈的方法,当它不会删除时.它失败并出现此错误:
Failed to delete stack: Role arn:aws:iam::role/CloudFormationRole-NestedCFN-CodePipeline is invalid or cannot be assumed
Run Code Online (Sandbox Code Playgroud)
当我尝试删除嵌套的子堆栈而不是首先删除父堆栈时,通常会发生此错误.如果我不小心删除了父堆栈,有没有办法删除嵌套堆栈?
amazon-web-services aws-cloudformation aws-codecommit aws-codepipeline
我正在设置 CodePipeline,并创建了一个操作来从 GitHub 获取源代码。
这需要建立一个连接,我做到了,而且在 GitHub 方面看起来也很好。
但是,如果我发布对管道的更改,我会在源阶段看到以下错误:
Insufficient permissions
Unable to use Connection: arn:aws:codestar-connections:us-east-1:REDACTED:connection/REDACTED. The provided role does not have sufficient permissions.
Run Code Online (Sandbox Code Playgroud)
我添加了对管道服务角色(我在管道设置中找到)的完整 CodeStar 访问权限,如下所示:
arn:aws:iam::REDACTED:role/service-role/AWSCodePipelineServiceRole-us-east-1-REDACTED
Run Code Online (Sandbox Code Playgroud)
有没有人知道可能会丢失什么?谢谢!
我是 AWS 的新手,我正在尝试使用我的免费套餐帐户使用 AWS CodeBuild 构建我的 nodeJS 项目,但收到此错误:
- 构建无法启动 构建无法启动。发生以下错误:该帐户的队列中不能有超过 0 个构建
我遵循简单的 aws 教程,保留所有默认设置,让 aws 为我创建所有服务、图像等。我还将源代码存储在 AwsCodeCommit 存储库中。有人可以帮助我吗?
我正在尝试使用支持 SNS 的通知规则为代码管道设置通知。
如图所示,状态为“无法访问”
如果我查看此处的链接aws 故障排除
我已经遵循了所有步骤,甚至在 SNS 主题的访问策略中添加 codestar-notifications 的步骤。
{
"Sid": "AWSCodeStarNotifications_publish",
"Effect": "Allow",
"Principal": {
"Service": "codestar-notifications.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "arn:aws:codestar-notifications:us-east-1:272075499248:notificationrule/50d629524d433dceeafdb6c5fe136e404f29e9e5"
}
Run Code Online (Sandbox Code Playgroud)
但是,状态仍然保持不变,也尝试手动启动管道,但仍然不起作用。
我错过了什么吗?有人能帮我解决这个问题吗?
编辑:
{
"Version": "2008-10-17",
"Id": "__default_policy_ID",
"Statement": [
{
"Sid": "__default_statement_ID",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": [
"SNS:GetTopicAttributes",
"SNS:SetTopicAttributes",
"SNS:AddPermission",
"SNS:RemovePermission",
"SNS:DeleteTopic",
"SNS:Subscribe",
"SNS:ListSubscriptionsByTopic",
"SNS:Publish",
"SNS:Receive"
],
"Resource": "arn:aws:sns:us-east-1:272075499248:develop",
"Condition": {
"StringEquals": {
"AWS:SourceOwner": "272075499248"
}
}
},
{
"Sid": "AWSCodeStarNotifications_publish",
"Effect": "Allow",
"Principal": {
"Service": "codestar-notifications.amazonaws.com"
}, …Run Code Online (Sandbox Code Playgroud) 我正在使用 AWS Codepipeline 构建 CI/CD 管道,存储库源位于 bitbucket 上,我使用 AWS-Codestarconnections 在 bitbucket 存储库和管道之间创建连接。
管道详细信息如下:
{
"pipeline": {
"name": "test_pipeline",
"roleArn": "arn:aws:iam::<AccountId>:role/PipelineServiceRole",
"artifactStore": {
"type": "S3",
"location": "tadadadada-artifact"
},
"stages": [
{
"name": "Source",
"actions": [
{
"name": "Source",
"actionTypeId": {
"category": "Source",
"owner": "AWS",
"provider": "CodeStarSourceConnection",
"version": "1"
},
"runOrder": 1,
"configuration": {
"BranchName": "dev",
"ConnectionArn": "arn:aws:codestar-connections:us-east-2:<AccountId>:connection/4ca7b1cf-2917-4fda-b681-c5239944eb33",
"FullRepositoryId": "<username>/repository_name",
"OutputArtifactFormat": "CODE_ZIP"
},
"outputArtifacts": [
{
"name": "SourceArtifact"
}
],
"inputArtifacts": [],
"region": "us-east-2",
"namespace": "SourceVariables"
}
]
},
{
"name": "Build", …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的应用程序自动化部署管道.这是自动化架构,我想出了:

如您所见,我使用codePipeline和codeBuild来自动部署.我的后端基于无服务器框架,它在kick sls deploy命令上部署lambda函数.这就是我没有使用codeDeploy进行传统部署的原因.buildspec.yml文件看起来像这样:
version: 0.1
phases:
install:
commands:
– apt-get -y update
– npm install -g serverless@1.9.0
build:
commands:
– cd nj2jp/serverless && npm install
post_build:
commands:
– serverless deploy –verbose
artifacts:
files:
– serverless.yml
discard-paths: yes
Run Code Online (Sandbox Code Playgroud)
现在,我有3个关于CodeBuild和Serverless的问题:
问题1:该命令sls deploy取决于一个名为config.ymldb password的秘密.此文件不会被检入git.您认为config.yml在codeBuild中包含的最佳方式是什么?
问题2: 如果我们必须使用codeDeploy部署传统的EC2应用程序,则可以使用AWS完成回滚.在无服务器的情况下,我们不使用codeDeploy,无服务器也支持回滚功能.我们如何在codePipeline中利用无服务器回滚? …
amazon-web-services aws-lambda aws-codepipeline serverless-framework aws-codebuild