标签: aws-codepipeline

AWS将变量传递到CodePipeline中的buildspec.yml

我有一个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操作中设置的变量.

aws-codepipeline

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

我正在尝试将Bitbucket集成到AWS Code Pipeline中?什么是最好的方法?

我想将Bitbucket的代码集成到AWS Code Pipeline中.我无法找到相同的例子.我的源代码是.Net.有人可以指导我.谢谢.

continuous-integration bitbucket amazon-web-services continuous-deployment aws-codepipeline

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

AWS CodePipeline无法访问组织的存储库

我正在尝试在AWS Codepipeline中设置持续部署管道.

在创建管道时,我将"Source provider"作为GitHub提供,然后连接到GitHub.我可以在创建管道页面的"存储库"下拉列表中看到我的公共存储库.但是我无法在此下拉列表中看到我的组织的私人存储库.我在组织中有写访问权限.

如何使AWS Codepipeline可以访问我的组织存储库.

github amazon-web-services continuous-deployment aws-codepipeline

19
推荐指数
3
解决办法
5158
查看次数

构建失败后代码构建继续

我正在使用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)

build aws-codepipeline aws-codebuild

18
推荐指数
4
解决办法
6973
查看次数

无法删除cfn堆栈,角色无效或无法假设

我是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

18
推荐指数
3
解决办法
5352
查看次数

AWS CodePipeline:源操作对 CodeStar 连接的权限不足

我正在设置 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-codepipeline

16
推荐指数
1
解决办法
1693
查看次数

该帐户的队列中不能有超过 0 个构建

我是 AWS 的新手,我正在尝试使用我的免费套餐帐户使用 AWS CodeBuild 构建我的 nodeJS 项目,但收到此错误:

  • 构建无法启动 构建无法启动。发生以下错误:该帐户的队列中不能有超过 0 个构建

我遵循简单的 aws 教程,保留所有默认设置,让 aws 为我创建所有服务、图像等。我还将源代码存储在 AwsCodeCommit 存储库中。有人可以帮助我吗?

amazon-web-services aws-codepipeline aws-codebuild

15
推荐指数
2
解决办法
2万
查看次数

尝试从代码管道发送通知时,SNS 通知目标规则“无法访问”

我正在尝试使用支持 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)

amazon-web-services amazon-sns aws-codepipeline

15
推荐指数
2
解决办法
7351
查看次数

上传到 S3 失败并出现以下错误:访问被拒绝 - CodeStarConnections

我正在使用 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)

bitbucket amazon-web-services aws-codepipeline

14
推荐指数
3
解决办法
1778
查看次数

具有无服务器框架的AWS codeBuild/codePipeline

我正在尝试为我的应用程序自动化部署管道.这是自动化架构,我想出了: 自动化架构

如您所见,我使用codePipelinecodeBuild来自动部署.我的后端基于无服务器框架,它在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个关于CodeBuildServerless的问题:

问题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

13
推荐指数
1
解决办法
2561
查看次数