问题标签 [aws-codestar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 用于连接 JIRA 的 AWS CodeStar 项目 URL 是什么?
AWS CodeStar 支持与 JIRA 的集成。您可以转到 AWS CodeStar > Extensions > 添加扩展并按照说明与您的 JIRA 应用程序集成。
但是,提供的“AWS CodeStar 项目 URL”采用以下格式:
此 URL 无效 - 此域名包含您未注册的 CodeStar 项目名称。正确的 URL 可能是某个 AWS CodeStar 域的子域。有谁知道与 JIRA 集成时使用的正确 URL 是什么?
amazon-web-services - 在 CodeStar 项目的 CloudFormation 模板中更改 Lambda 的 IAM 角色?
如何在 AWS CodeStar 项目的 CloudFormation 模板中更改 Lambda 函数的 IAM 角色?
我创建了一个 AWS CodeStar 项目(Web 服务,基于 Lambda,Node.js)。默认情况下,AWS CodeStar 生成以下 CloudFormation:
现在,我想用我自己的角色替换这个角色,因为我需要为 Lambda 函数添加策略以访问其他 AWS 资源。同时我也移除了 API Gateway,因为我稍后会添加一个调度器来触发 Lambda 调用:
但是,当我提交并推送这些更改时,AWS CodePipeline 无法更新 CloudFormation 模板:
根据此反馈,我得出结论,CodeStarWorker-[projectId]-CloudFormation/AWSCloudFormation
角色无权创建 IAM 角色。但是,这个角色在我的 CloudFormation 模板中是隐藏的,据我了解,它是由 CodeStar 自动设置的。作为 AWS 账户管理员,我可以简单地编辑相关策略,但恕我直言,这不是解决此问题的方法。
编辑:
我已经检查了我账户中的 IAM 配置。已创建 aws-codestar-service-role,它与具有以下语句的策略相关AWSCodeStarServiceRole
联(在其他语句中,请参阅链接了解详细信息):
还有一个CodeStarWorker-[projectId]-CloudFormation
角色,它有一个CodeStarWorkerCloudFormationRolePolicy
使用以下配置命名的内联策略:
自从我创建了项目以来,该CodeStar_[projectId]_Owner
策略已直接附加到我的用户。
编辑2:
尽管我有自己的建议,但我尝试通过添加以下策略声明来更新角色CodeStarWorkerCloudFormationRolePolicy
的内联:CodeStarWorker-[projectId]-CloudFormation
但是,这会导致 CloudFormation 出现以下错误:
aws-lambda - 使用 CodeStar 计划的 AWS Lambda:SyncResources com.amazon.coral.service.InternalFailure
我正在尝试使用 CodeStar 部署计划的 AWS Lambda 函数。我从 CodeStart 的网络服务器模板开始,并修改了 template.yml 以使用预定的事件。
我已将策略附加CloudWatchEventsFullAccess
到角色CodeStarWorker-xxxxx-CloudFormation
以允许events:PutRule
.
当我启动 CodePipeline 时,我在部署阶段(CloudFormation)最终收到错误消息:
git - 我可以将 CodeStar 的部署基础设施与现有 CodeCommit 存储库一起使用吗?
CodeStar 似乎由两部分组成
- 一种轻松生成多个相关资源和用于管理项目的 CodeCommit 存储库的方法,以及
- 一种自动部署 CodeCommit 代码以在特定 AWS 服务上运行的机制。
有没有办法只使用现有的 CodeCommit 存储库(2)?那就是我可以将这样的存储库与某些服务“挂钩”,以便当我推送到存储库时,更新会推送到服务?
例如,对于一个现有的 Lambda 项目,我目前有一个我了解如何轻松添加到 CodeCommit 的存储库;但现在我手动更新正在运行的 Lambda 服务aws lambda update-function-code ...
(以及必要的打包步骤)。或者我有一些 Flask EB 网站,我目前使用eb deploy ...
. 两者都来自我的本地 CLI。有没有办法连接起来以便git push <CodeCommit repo> ...
执行这些部署,就像从头开始构建的 CodeStar 项目一样?
python - 将 AWS CodeStar Python 项目与 JetBrain PyCharm 结合使用
我正在评估 CodeStar 在 Amazon Lambda 函数上的一些 Python 编程,并且在我的 Python 开发中一直使用JetBrain PyCharm。AWS CodeStar 用户指南中直接提到了 Eclipse 和 Visual Studio 集成。我正在尝试将 Eclipse 与 PyCharm 集成。PyCharm 具有我过去成功使用的 Eclipse 项目和 Git 集成的导入功能。
有没有人让这个工作或有建议分享?我在研究生许可下使用完整的专业版,但也可以访问免费版。我会尝试一下并报告我的发现。
python - Python 3.6 在 AWS CodeBuild 中不可用,Python 3.5 在 AWS Lambda 中不可用
我有一个 Python 3 项目,我试图通过 AWS Codestar -> Codepipeline -> Codebuild -> Cloudformation 将其部署到 AWS Lambda。
我的项目(实际上只包含一个简单的 API Gateway 处理程序方法)导入了一个 Python 3(需要 3 个)项目(报纸)。我在家用计算机上使用 Virtualenv 15.1.0,如果我用 Python 3.5 安装 Newspaper,然后上传到 Lambda(Python 3.6 运行时),它会引发与 PIL / Pillow 相关的错误。
首先它说它找不到_image,这似乎可以通过删除站点包中的PIL目录来解决,但这只会导致它抛出找不到PIL的错误。
但是,如果我使用 Python 3.6 构建然后上传到 Lambda,它就可以正常工作(无论我是否删除 PIL)。
因此,在我看来,我无法使用 3.5 安装 Newspaper 并尝试在 3.6 运行时中执行。
所以,现在我正在尝试通过 Codestar 进行部署,但是 Codestar 似乎默认为 aws/codebuild/eb-nodejs-4.4.6-amazonlinux-64:2.1.3,即使对于 Python 项目也是如此,而且它似乎都可以在Yum 存储库是 Python 3.5,当然 Lambda 只有 3.6 运行时。
即使我在 Codebuild 本身中切换图像,似乎也没有任何使用 Python3.6 运行时构建的图像(根据文档)。甚至 Docker 镜像似乎也缺少 Python 3.6。
因此,我试图在我的 buildspec.yml 文件的 INSTALL 阶段在 Codebuild 中安装 Python 3.6,但是在安装后我找不到 python3* 可执行文件。
我唯一能想到的另一件事是创建 Codestar 项目,编辑 codebuild 以使用 Ubuntu,然后安装所有东西(就像我在本地做的那样),但是在 Codestar 中没有办法做到这一点,我觉得这可能会带来我掉进了一个兔子洞,这几乎不是自动化的。有没有办法在我的项目中将该配置作为代码进行?
编辑 尝试从源代码构建和安装 Python 3.6,但是当尝试安装 Pip 时,我收到错误消息,提示未安装 SSL。回顾构建日志时,似乎也没有安装其他“位”。
所以,我的问题是:
- 如何将 Python 3.6 放入从 Codestar 项目提供的 Codebuild 环境中?
- 我应该继续尝试从源代码构建它还是切换到 Ubuntu 环境?
- 如何在我的代码/项目中自动配置图像/环境?
编辑 1对于其他人,我用于安装和使用 Python3.6 的完整 buildspec.yml 如下。请注意,它使一切尽可能安静,以减少日志消息、降低 Cloudwatch 成本并加快进程。通过这样做(安装 Python 并构建我的应用程序),我最终将整个过程缩短了大约 90 秒。由于 CodeBuild 根据花费的时间收费,因此这一点至关重要。
amazon-web-services - 构建跨越两个不同 AWS 账户的 CodeStar 管道
对于同一个项目,我有两个单独的帐户一个dev
帐户和一个staging/production
帐户。
首先,每个开发人员都可以完全访问所有帐户的服务。有一个 CodeStar 服务,当在相关的 CodeCommit 上进行推送时,管道会启动并继续运行,直到代码本身被部署。当开发团队的工作正常时,他们可以分支主线以标记发布准备好进入阶段/生产。
当一个新版本需要一个 staging 步骤时,业务应该选择要在 stage 部署的分支。因此,应从在此临时帐户(后者)中构建和部署的第一个帐户中提取单击代码。
- 我怎样才能做出这样的事情?
- 如何从另一个账户的 CodeCommit 源启动暂存管道?
- 我也会在后一个帐户中使用 CodeStar(这样我可以使用仪表板),可以吗?或者我应该从自定义工作流程开始?
感谢任何给定的建议,我还没有在网上看到最佳实践。
amazon-cloudformation - AWS Codestar -- 使用 node.js 模块依赖项构建
我正在使用 AWS Codestar。它集成了许多 AWS 服务,以便我可以git push
进行部署。
它使用云形成。我有一个依赖于uuid
npm 的 lambda 函数。
如何在 Codestar 构建管道中包含此节点依赖项?Cloudformation SAM 使用 zip 文件,并将所有内容上传到 S3:
我不想构建一个 zip 文件并将其放入代码仓库中。
我的下一个计划是尝试npm install
在 Codebuild 中运行:
http://docs.aws.amazon.com/codebuild/latest/userguide/sample-nodejs-hw.html#sample-nodejs-hw-files
python - 在 AWS Codebuilder 中安装运行文件的依赖项
我正在尝试在从 CodeCommit 中提取的 AWS codebuilder 上运行测试文件,但这些文件有许多需要安装的依赖项。其中许多都包含在 Anaconda 中,但我担心如果我每次都安装 anaconda 会大大降低构建速度,因为 anaconda 的大小。有没有办法有效地安装依赖项列表,还是每次在构建规范的安装部分都必须手动执行?或者有没有一种方法可以让我安装一次依赖项而不是每次构建时都安装。