这篇文章给大家介绍jenkins中怎么自动部署更新AWS ECS服务,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
以上是整个部署更新的流程图:
1.开发人员对上线的代码打一个tag,然后把带tag的代码推到AWS codecommit上面。
git add -A *
git commit -a -m "${tag}"
git tag "${tag}"
git push origin 分支 ${tag}
2.AWS codecommit触发器检测到分支或标签有新代码传入,发送消息到SNS主题上;
1.创建一个AWS SNS主题:
在创建SNS主题前请确保你已经具有访问SNS主题的权限,以下为创建SNS主题的详细步骤:
1)登陆AWS SNS控制台;
2)在创建主题部分输入主题名称(自定义);
3)选择**创建主题,**将创建主题并打开主题名称显示页面。
主题的名称,ARN,(可选)显示名称和主题所有者的AWS账户ID显示在“ **详细信息”**部分中,
4)上一步中的主题ARN会在codecommit存储库创建AWS SNS主题触发器中用到。
3.CodeCommit 存储库创建 Amazon SNS 主题触发器
登陆到AWS 控制台(当然了,也可以通过AWS CLI进行添加)
进入到codecommit服务配置中,地址:https://console.aws.amazon.com/codesuite/codecommit/home;
进入其中的一个存储库,会出现分支及设置选项:
选择创建触发器,进行如下操作:
1)在触发器名称中输入名称(自定义);
2)在事件中,选择将触发 Amazon SNS 主题以发送通知的存储库事件:
如果选择所有存储库事件,则无法选择任何其他事件。要选择事件的子集,请删除 All repository events,然后从列表中选择一个或多个事件。例如, 如果希望触发器只在用户在 CodeCommit 存储库中创建分支或标签时运行,请删除所有存储库事件,然后选择创建分支或标记。
3)如果希望触发器应用于存储库的所有分支,请在分支中,将选定内容保留为空,因为此默认选项会自动将触发器应用于所有分支。如果希望此触发器仅 应用于特定分支,请从存储库分支列表中选择最多 10 个分支名称;
4)在选择要使用的服务中,选择 Amazon SNS;
5)在 Amazon SNS 中,从列表中选择主题名称或输入主题的 ARN;
6)在自定义数据中,提供包含在 Amazon SNS 主题发送的通知中的任何信息(例如,开发人员在讨论该存储库中的开发工作时使用的 IRC 通道)。该字 段是一个字符串。它不能用于传递任何动态参数
7)选择测试触发器。确认是否已正确配置 CodeCommit 与 Amazon SNS 主题之间的访问。它通过 Amazon SNS 主题使用存储库中的数据(如果可用)发送测试通知。如果没有真实数据可用,测试通知将包含示例数据.
8)选择创建触发器以完成触发器的创建操作.
3.SNS主题会把消息订阅到SQS队列;
创建一个AWS SQS消息队列:
1)进入 Amazon SQS 控制台;
2)单击立即开始使用
4)然后点击下方的快速创建就创建好了;
5)选择队列,订阅队列到主题,到此队列就配置好了。
可以进行测试访问,成功后应用保存,退出。可以提交代码进行测试。项目配置如下
以下是构建image和把image推送到ECR上
以下是更新ECS服务的设置:
关于jenkins中怎么自动部署更新AWS ECS服务就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。