问题标签 [aws-codecommit]

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.

0 投票
3 回答
6733 浏览

python - 如何使用 Lambda 将 AWS CodeCommit 推送到 S3?

Python 是我的首选语言,但 Lambda 支持的任何语言都可以。-- 所有 AWS 架构 --

我在 S3 中有 Prod、Beta 和 Gamma 分支以及相应的文件夹。我正在寻找一种让 Lambda 响应 CodeCommit 触发器并基于触发它的分支的方法,克隆存储库并将文件放在适当的 S3 文件夹中。

  • S3://Example-Folder/Application/Prod
  • S3://Example-Folder/Application/Beta
  • S3://Example-Folder/Application/Gamma

我尝试使用 GitPython,但它不起作用,因为 Lambda 没有在基础 Lambda AMI 上安装 Git,而 GitPython 依赖于它。

我还查看了 Boto3 文档,只有托管任务可用;它无法返回项目文件。

感谢您的帮助!

0 投票
1 回答
569 浏览

api - 从 AWS codeCommit 中的 tree_id 获取文件列表

有一种方法可以获取 tree_id 的文件列表吗?

实际上我找不到正确的方法来做到这一点!我不能超越 tree_id !!!

GetCommit 请求输入

回复

谢谢你的帮助

0 投票
1 回答
978 浏览

git - 我可以将 CodeStar 的部署基础设施与现有 CodeCommit 存储库一起使用吗?

CodeStar 似乎由两部分组成

  1. 一种轻松生成多个相关资源和用于管理项目的 CodeCommit 存储库的方法,以及
  2. 一种自动部署 CodeCommit 代码以在特定 AWS 服务上运行的机制。

有没有办法只使用现有的 CodeCommit 存储库(2)?那就是我可以将这样的存储库与某些服务“挂钩”,以便当我推送到存储库时,更新会推送到服务?

例如,对于一个现有的 Lambda 项目,我目前有一个我了解如何轻松添加到 CodeCommit 的存储库;但现在我手动更新正在运行的 Lambda 服务aws lambda update-function-code ...(以及必要的打包步骤)。或者我有一些 Flask EB 网站,我目前使用eb deploy .... 两者都来自我的本地 CLI。有没有办法连接起来以便git push <CodeCommit repo> ...执行这些部署,就像从头开始构建的 CodeStar 项目一样?

0 投票
2 回答
1116 浏览

git - 如何设置自定义子域映射到 aws codecommit?

比如说,我拥有 mydomain.com,并且我还在 Route 53 中托管了这个域。我想设置一个子域,比如指向 codecommit 主机的 git.mydomain.com。例如,git.mydomain.com => git-codecommit.us-west-2.amazonaws.com

为此,我在 Route 53 中创建了 CNAME 记录。我认为 DNS 确实接受了更改。

但是,当我尝试通过运行克隆 reop

git clone ssh://git.mydomain.com/v1/repos/reponame

,我不断得到

当我做的时候它有效

git clone ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/reponame

有谁知道如何正确设置?

非常感谢你。

0 投票
0 回答
178 浏览

amazon-web-services - AWS 发布管道 CodeCommit -> CodeBuild -> Beanstalk

我正在尝试创建一个发布管道,其中我的源代码位于 CodeCommit 中,我使用 Codebuild 进行构建并将其部署到 Beanstalk 中。

代码提交 -> CodeBuild -> Beanstalk

实际上这是一个基于 Java 的应用程序,我正在尝试将 .JAR 文件部署到 Beanstalk(JAVA 平台)中。但是在上面的发布管道中。Codebuild 生成一些构建工件,但它们不是 .JAR。

如果我单独运行 Codebuild,我会将我的工件上传到 S3 存储桶中。如果有人在发布管道上成功创建,请告诉我。

我也尝试过这种方式。即创建两个发布管道

1) CodeCommit -> CodeBuild 上面会构建一个.jar文件,放入S3

2) CodeCommit -> Beanstalk 上面的 S3 存储桶将作为源添加,因此如果有新的 .JAR 上传到相应的 S3 存储桶中,则会开始部署。

这种方法效果很好。

0 投票
2 回答
1528 浏览

aws-codecommit - 有没有办法在 AWS CodeCommit 推送触发器通知中包含 git 消息?

我有一个代码提交回购。

我有一个带有“发送到”=“亚马逊 SNS”的推送触发器设置。

在 SNS,我有一些电子邮件订阅者连接到通知事件。

因此,每当任何开发人员针对 repo 执行 git push 时,项目开发人员都会收到一封电子邮件。

该电子邮件类似于:

在此处输入图像描述


有没有办法在该通知中添加 git push 或提交消息?

0 投票
0 回答
169 浏览

amazon-web-services - 构建跨越两个不同 AWS 账户的 CodeStar 管道

对于同一个项目,我有两个单独的帐户一个dev帐户和一个staging/production帐户。

首先,每个开发人员都可以完全访问所有帐户的服务。有一个 CodeStar 服务,当在相关的 CodeCommit 上进行推送时,管道会启动并继续运行,直到代码本身被部署。当开发团队的工作正常时,他们可以分支主线以标记发布准备好进入阶段/生产。

当一个新版本需要一个 staging 步骤时,业务应该选择要在 stage 部署的分支。因此,应从在此临时帐户(后者)中构建和部署的第一个帐户中提取单击代码。

  • 我怎样才能做出这样的事情?
  • 如何从另一个账户的 CodeCommit 源启动暂存管道?
  • 我也会在后一个帐户中使用 CodeStar(这样我可以使用仪表板),可以吗?或者我应该从自定义工作流程开始?

感谢任何给定的建议,我还没有在网上看到最佳实践。

0 投票
2 回答
615 浏览

amazon-web-services - AWS:无法为 CodeCommit -> Lambda (eu-central-1) 创建触发器

由于 AWS 已启用 CodeCommit、CodeDeploy... 现在在其他区域也可用,因此我决定将其中一些服务从 eu-west-1 移至离家更近的eu-central-1 。

在现有设置中,我创建了一个 lambda 函数,该函数在提交被推送到 CodeCommit 存储库时触发,并向我们的 Slack 频道发送一个关于它的好通知。它有效,很棒。

但是现在,当我尝试在eu-central-1 (Frankfurt)中重新创建相同的功能时,我陷入了困境。

我似乎无法为 CodeCommit 创建触发器来触发 Lambda 函数。我在其他一些地区尝试过,它完美无缺。

我知道:

  • 权限、角色、策略和权限设置正确
  • 它适用于其他地区
  • 创建 Lambda 函数时,触发器列表中缺少代码提交项
  • 如果我尝试以相反的方式创建触发器,从代码提交端开始,我会收到一个错误: AWS CodeCommit does not have access to the destination or the destination does not exist.

是否知道在 eu-central-1 中实施 CodeCommit 期间是否忘记了触发,或者是否有任何其他技巧可以尝试使其正常工作?

谢谢!

0 投票
2 回答
983 浏览

git - 为什么 git push 的工作方式与 git push origin 不同?

为什么这两个命令会产生这些结果:

  1. (master 已签出) git checkout beta git push

  2. (测试版已签出) git push origin beta

我问是因为前者在 AWS CodeCommit 中导致错误(403),而后者推送到分支就好了。此外,每当我签出 beta 版时,我会收到一条警告,指出我在 origin 分支之前提交了 +20:

“你的分支领先于 'codecommit-origin/beta' 38 次提交。”

0 投票
3 回答
1385 浏览

git - AWS CodeCommit - 可以克隆/拉取但不能推送 (SSH)

我已按照记录的步骤创建和克隆 CodeCommit 存储库(根据 AWS 文档)。

我还验证了我使用的是正确的私钥和公钥(根据这个答案)。

我的 ssh 配置文件配置正确(见这里)。

用户附加了 AWSCodeCommitFullAccess 策略(其中包括 CodeCommit:GitPush 操作)。

我可以成功克隆和拉取存储库,但是当我尝试推送提交时,我收到以下消息:

我正在使用 Ubuntu 16.04 和 git 版本 2.7.4

输出GIT_TRACE_PACKET=true GIT_TRACE=2 GIT_CURL_VERBOSE=1 GIT_SSH_COMMAND="ssh -v" git push

我究竟做错了什么?谢谢你的帮助!