我是AWS CodePipeline的新手,从未有过像Jenkins等任何持续集成工具的经验.我创建了一个新的AWS CodePipeline 作为AWS CodeCommit(代码库) - > CodeBuild(不是docker,环境是NodeJS 7) - > AWS CodeDeploy.一切都在AWS上.它是一个Angular2项目,最终部署在EC2实例上(Windows server 2008).从我的本地机器,我能够通过活动的IAM用户(Git访问)将我的代码提交到AWS CodeCommit,然后我可以看到CodePipleline开始运行,其中Source很好(绿色)但下一步即构建失败(红色颜色).当我点击它的详细信息时,我可以看到以下错误日志: -
https://forums.aws.amazon.com/ 2016/12/23 18:21:16等待代理商 https://forums.aws.amazon.com/ 2016/12/23 18:21:36阶段是DOWNLOAD_SOURCE https://forums.aws.amazon.com/ 2016/12/23 18:21:38阶段完成:DOWNLOAD_SOURCE成功:false https://forums.aws.amazon.com/ 2016/12/23 18:21: 38阶段上下文状态代码:YAML_FILE_ERROR消息:YAML文件不存在 https://forums.aws.amazon.com/ 2016/12/23 18:21:38运行时错误(YAML文件不存在)
有人可以指导我这个错误吗?我不知道这个YAML文件意味着什么.我用谷歌搜索,但在我的NodeJS Angular项目中找不到任何相关内容.
谢谢你,Vinod Kumar
git amazon-ec2 aws-codecommit aws-codepipeline aws-codebuild
有没有办法配置egit使用你的本机(OS)git而不是jgit实现?如果没有,有没有替代git Eclipse插件?
编辑#1 - 我应该注意,AWS CodeCommit使用来自.gitconfig的auth 的凭证助手:
[credential]
helper = !/usr/local/bin/aws --profile CodeCommitProfile codecommit credential-helper $@
UseHttpPath = true
Run Code Online (Sandbox Code Playgroud)
我猜这是CodeCommit特有的,而不是jgit.
我能够从我的 AWS CodeCommit 存储库中提取和/或推送更新,直到重新安装aws-cli. 我尝试了所有我能找到的建议解决方案,但似乎没有任何效果。
我正在 Ubuntu 21.10 上工作并安装:
$ aws --v
aws-cli/1.19.1 Python/3.9.7 Linux/5.13.0-41-generic botocore/1.20.0
Run Code Online (Sandbox Code Playgroud)
git version 2.32.0
我收到的错误是:
fatal: unable to access 'https://git-codecommit.eu-west-2.amazonaws.com/v1/repos/myrepo/': The requested URL returned error: 403
Run Code Online (Sandbox Code Playgroud)
它曾经询问我的用户名和密码,但在我尝试解决该问题后,它完全不再询问我的凭据。不管怎样,我确认我使用的是正确的凭据。此外,我确实拥有 AWS 的必要权限。直到几个小时前我才成功拉动和推送更新。
aws 凭证帮助程序按照大多数在线解决方案的建议进行设置。更具体地说,我的.gitconfig文件如下所示:
[user]
name = My_name
email = My_email
[credential]
helper = !aws codecommit credential-helper $@
UseHttpPath = true
Run Code Online (Sandbox Code Playgroud)
此外,我正确设置了$ aws configure配置(使用正确的区域)。
$ git config --list --show-origin我得到的清单:
file:/etc/gitconfig user.email=My_email
file:/home/f_user/.gitconfig user.name=My_name
file:/home/f_user/.gitconfig user.email=My_email
file:/home/f_user/.gitconfig credential.helper=!aws codecommit credential-helper $@
file:/home/f_user/.gitconfig …Run Code Online (Sandbox Code Playgroud) 我找不到任何关于此的文件!每个示例都基于GitHub repos,但我如何使用AWS CodeCommit执行此操作?
我正在使用AWS CodeCommit,它看起来像是git的精简版.
如果所有这些EC2实例具有相同的角色标记,我该如何实现?
我不想做任何花哨的事情,我想要的只是指定一个标签,单击一个按钮,所有那些带有该标签的EC2实例都为CodeCommit提取.我想从我的本地机器上做到这一点.
我知道我需要使用SSH密钥访问每个EC2服务器中的CodeCommit,并在每个服务器上安装git(我将把它烘焙到AMI中).我只是不确定如何"触发"每台EC2机器进行git pull?是否有AWS命令?
我不是一个开发人员,只知道基本的linux和php.
我可以使用AWS CodeCommit(亚马逊的新Git服务)吗?
我试过Windows的SmathGit和GitHub.
我在S3存储桶中有一个站点,配置为Web访问,aws s3 sync每次我推送一个特定的git存储库时我都会运行一个命令(我现在正在使用Gitlab).
因此,如果我推送到stable分支,Gitlab运行器将执行npm start build构建站点的命令,然后aws s3 sync同步到特定的存储桶.
我想迁移到CodeCommit并使用纯AWS工具来做同样的事情.
到目前为止,我能够成功设置存储库,创建用于构建工件的CodeBuild,并将工件存储(未部署)到S3存储桶.区别在于我无法将其部署到存储桶的根文件夹而不是子文件夹,似乎没有为此进行过程.我需要它在根文件夹上,因为如何配置Web访问.
对于部署过程,我正在查看CodeDeploy,但它实际上并没有让我部署到S3存储桶,它只使用存储区作为部署到EC2实例的中介.到目前为止,我感觉CodeDeploy仅对涉及EC2的部署有用.
本教程的要求与我的相似,使用CodePipeline和CodeBuild,但部署步骤实际上是一个aws s3 sync命令(与我在Gitlab上做的相同),并禁用了CodePipeline上的实际部署步骤.
我正在寻找一个解决方案,其中涉及使用为此特定目的而制作的AWS功能,但我找不到任何解决方案.
我也知道LambCI,但对我来说看起来像CodePipeline/CodeBuild正在做什么,存储工件(不部署到存储桶的根文件夹).另外,我正在寻找一个不需要我学习或部署新配置文件的选项(在AWS配置文件之外).
AWS功能的当前状态是否可以实现?
amazon-s3 amazon-web-services aws-codecommit aws-codepipeline aws-codebuild
通知:https : //docs.aws.amazon.com/codecommit/latest/userguide/how-to-repository-email.html
触发器:https : //docs.aws.amazon.com/codecommit/latest/userguide/how-to-notify.html
官方文档指出,对于 CodeCommit 存储库“遵循 CloudWatch 事件规则的事件”(如拉取请求),我们使用存储库通知。
而对于只是“操作事件”的 CodeCommit 存储库事件(例如创建分支、将代码推送到分支),我们使用存储库触发器。
我不明白“遵循 CloudWatch 事件规则的事件”和“操作事件”之间的区别。对我来说,拉取请求和将代码推送到分支似乎是相似的事件。
因此,在为什么我们需要存储库通知和存储库触发器之间感到困惑。
amazon-web-services amazon-sns amazon-cloudwatch aws-codecommit
目前,我们的团队正在获取有关拉取请求、分支更改等的 AWS SNS 消息,并将其作为 JSON 嵌入到电子邮件中,这意味着,没有换行符等,JSON 结构会包裹到邮件消息的宽度。这没什么问题,但是人们很难一眼就看出发生了什么,因此很容易被忽视。有没有办法让它以更好的格式到达?我查看了 SNS 选项并进行了一些谷歌搜索,发现了这一点——Sending html content in AWS SNS(Simple Notification Service) emails notification——这表明简单电子邮件服务是一个更好的选择。我如何将其附加到代码提交事件?
git amazon-web-services amazon-sns amazon-ses aws-codecommit
我想知道如何自定义 AWS Code Commit 和 Slack 之间的 Slack 集成。
目前,我的设置使用连接到 AWS 聊天机器人的 SNS 主题。我按照以下说明进行操作:https ://docs.aws.amazon.com/codecommit/latest/userguide/notification-rule-create.html
目前,slack 上的通知不显示作者和消息等相关详细信息。
例如:
提前致谢!
aws-codecommit ×10
git ×7
amazon-ec2 ×2
amazon-sns ×2
amazon-s3 ×1
amazon-ses ×1
aws-cli ×1
eclipse ×1
egit ×1
jgit ×1
ubuntu ×1