基于AWS CodeCommit存储库的DevOps

在这个由3部分组成的新系列文章中,我将重点介绍使用Amazon Web Services(AWS)云DevOps服务工具进行DevOps(CI和CD)动手方法。

介绍

让我们在下图的帮助下回顾一下各种工具:

AWS Codepipeline
  • AWS CodeCommit:这是一个安全的在线版本控制服务,托管私有Git存储库。团队无需维护自己的版本控制存储库,而是可以使用AWS CodeCommit存储其源代码,甚至可以存储从构建生成的WAR / JAR / EAR文件之类的二进制文件。
  • AWS CodeBuild:它是云上的构建服务,团队可以借助该服务编译其源代码并生成可用于部署的目标工件。由于编译是在云上完成的,因此您无需提供任何特定的构建服务器。
  • AWS CodeDeploy:这是部署服务,可自动将应用程序部署到Amazon EC2 Linux或Windows实例。
  • AWS CodePipeline:它有助于提供端到端交付过程的直观视图,并使用上述AWS DevOps工具进行了配置。

同样,由于Jenkins是当今大多数组织使用的最受欢迎的CI工具之一,我们还将研究这些AWS DevOps工具如何与之集成。

在第一个教程中,我将重点介绍AWS CodeCommit,以及如何将您的源代码和其他工件安全地存储在此存储库中。整个系列将使用一个简单的J2EE Web项目。

先决条件:

  • 在AWS上最好使用免费套餐。
  • 安装在本地计算机上的Git。
  • Eclipse IDE。
  • 使用的AWS地区–亚太地区(新加坡)。
  • 最重要的是一个非常好的和快速的互联网连接。

创建AWS CodeCommit存储库

登录到AWS管理控制台。需要一个AWS账户才能登录。我使用了免费的第一层。成功登录后,启动AWS CodeCommit Web服务并创建一个存储库。

输入名称和描述,然后单击创建存储库。

创建存储库

空存储库如下所示创建。

空储存库

创建一个IAM用户

必须使用Eclipse之类的IDE,为团队成员创建IAM用户,作为使用存储库中的源代码的一部分,并且必须提供适当的完全CodeCommit访问权限。这将对团队的访问权限定义为安全性的一部分。

由于CodeCommit信息库是云中私有托管的Git信息库,因此,每个IAM用户都需要Git凭据才能通过HTTPS与CodeCommit信息库进行通信。

因此,通常将创建J2EE项目,并借助Git凭据和Git命令(例如git push,git pull等)将项目推送到CodeCommit存储库。通信将通过HTTPS完成。

我们将为一名IAM用户看到该过程,您可以为多个用户重复相同的步骤。

#1)创建一个IAM用户并提供访问权限。

转到AWS中的IAM服务。单击用户类别->添加用户。

添加用户屏幕

输入访问类型的用户名和程序访问复选框。单击下一步- >权限。

使用者详细资料

为用户设置AWS CodeCommit的完全访问权限。

设置权限屏幕

单击下一步- >查看

审查画面

单击创建用户。

记住要下载或复制访问密钥ID和秘密密钥访问。这将用于多种服务。因此,随时随地保持可用状态非常重要。作为AWS管理员,您将需要通过电子邮件将其发送给用户。

完成后,单击“关闭”

添加用户屏幕

#2)为用户生成Git凭证。

单击新创建的用户,然后转到“安全凭据”选项卡。

安全证书选项卡
安全凭证屏幕

单击AWS CodeCommit的HTTPS Git凭证下的Generate按钮

此凭据也必须通过电子邮件发送给用户。因此,您可以复制或下载它们。复制后,单击“关闭”

AWS CodeCommit

必须对需要在CodeCommit存储库上工作的每个用户执行以上两个步骤。

在Eclipse中创建J2EE Web项目

作为开发人员,您将使用任何可用的IDE进行Java / J2EE代码开发。

假设Eclipse是本例中使用的IDE。使用此IDE,我们将创建一个基于Maven的J2EE Web项目,并将内容推送到CodeCommit存储库中,以供团队使用。

在创建项目之前,请使用AWS Toolkit插件将CodeCommit安装到Eclipse中。单击此处更新站点。这将有助于使用Git命令从IDE直接与CodeCommit存储库进行通信。

安装软件屏幕

打开AWS Explorer视图,AWS CodeCommit应该可见。

AWS Code Commit屏幕

现在创建一个AWS Java Web Project并将代码添加到index.html文件,如下所示。

AWS Java Web项目
新的AWS Java Web项目

单击“配置AWS帐户”,然后输入之前创建的IAM用户访问密钥和秘密密钥,然后单击“完成”

AWS工具包
AWS-Index.html

确保还安装了EGit插件。将创建的项目共享到本地GIT存储库,并将代码推送到CodeCommit存储库。右键单击项目,然后选择团队->共享项目。

团队共享项目屏幕
分享专案

单击下一步,然后在本地计算机上的适当文件夹中创建新的存储库。

配置GIT存储库
创建新的GIF文件

点击完成

配置Git存储库

点击完成

将更改提交到本地Git存储库。右键单击项目,然后选择“团队”->“提交”。

团队提交屏幕

将文件从“未暂存的更改”拖放到“暂存的更改”,然后单击“提交”按钮。

AWS提交屏幕

现在我们有了本地提交的存储库,现在可以将本地存储库推送到我们先前创建的CodeCommit存储库。

首先,从AWS CodeCommit控制台复制克隆URL HTTPS。

AWS代码屏幕

返回Eclipse中,右键单击并选择Team-> Push Branch’master’

推送分支主屏幕

选择HTTPS协议,然后粘贴Clone URL HTTPS,然后输入作为IAM用户的一部分创建的Git凭据。

目标Git存储库

单击下一步。

遥控器中的按钮

单击下一步。

推送分支主屏幕

单击完成将更改推送到CodeCommit存储库。完成后,将出现成功消息屏幕。

推送结果

上面的commit和push命令也可以在命令行中使用Git命令(git commit和git push)来完成(如果可以的话)。

现在应该使用Eclipse项目代码来更新存储库。一旦代码可用,其他开发人员就可以克隆存储库,并使其在本地计算机上可用以进行进一步的开发,然后使用标准git命令或从Eclipse IDE将代码推回到CodeCommit存储库。

单击CodeCommit存储库的CONNECT按钮时,即可获得克隆存储库的说明。

AWS屏幕

Jenkins与AWS CodeCommit的集成

Jenkins是持续集成的流行工具之一。今天的团队希望利用Jenkins的CI活动。因此,作为CI管道的一部分,您可以连接到CodeCommit存储库并为构建活动提供IAM用户凭据,而不是连接到GitHub存储库。

这是Jenkins使用IAM用户凭据为存储库引用CodeCommit克隆URL HTTPS的屏幕截图。

一旦将存储库作为源代码管理的一部分进行引用,那么Build和Post-Build的其他操作将与通常使用Git存储库一样。

Git存储库

概要

本系列教程的主要思想是展示如何在AWS云平台上实施DevOps。

众所周知,DevOps的先决条件之一就是拥有一个好的版本控制存储库,在本教程中,我们已经了解了如何创建和配置CodeCommit存储库来存储项目工件以及如何与Jenkins集成。用于构建和部署的流行CI工具。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁