本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AMIs使用 “自动化” 和 Jenkins
如果您的组织在 CI/CD 管道中使用Jenkins软件,则可以将 Automation 添加为构建后步骤,以便将应用程序版本预安装到 () 中。Amazon Machine Images AMIs自动化是一种能力 Amazon Systems Manager。您还可以使用Jenkins计划功能调用 Automation 并创建自己的操作系统 (OS) 补丁节奏。
以下示例显示了如何从本地或亚马逊弹性计算云 (Amazon EC2) 中运行的Jenkins服务器调用自动化。对于身份验证,Jenkins服务器使用基于您在示例中创建并附加到您的实例配置文件的 IAM 策略的 Amazon 证书。
注意
配置实例时,请务必遵循Jenkins安全最佳实践。
开始前的准备工作
在使用配置自动化之前,请完成以下任务Jenkins:
-
完成 使用 Automation、Amazon Lambda 和 Parameter Store 来更新黄金 AMI 示例。以下示例使用在该示例中创建的UpdateMyLatestWindowsAmi运行手册。
-
为自动化配置 IAM 角色。Systems Manager 需要实例配置文件角色和服务角色 ARN 来处理自动化。有关更多信息,请参阅 设置自动化。
为Jenkins服务器创建 IAM 策略
登录 Amazon Web Services Management Console 并打开 IAM 控制台,网址为 https://console.aws.amazon.com/iam/
。 -
在导航窗格中选择策略,然后选择创建策略。
-
选择 JSON 选项卡。
-
将每个
示例资源占位符
替换为您自己的信息。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ssm:StartAutomationExecution", "Resource": [ "arn:aws:ssm:
region
:account ID
:document/UpdateMyLatestWindowsAmi", "arn:aws:ssm:region
:account ID
:automation-definition/UpdateMyLatestWindowsAmi:$DEFAULT" ] } ] } -
选择查看策略。
-
在查看策略页面上,对于名称,输入内联策略的名称,例如
JenkinsPolicy
。 -
选择创建策略。
-
在导航窗格中,选择角色。
-
选择附加到您的Jenkins服务器的实例配置文件。
-
在权限选项卡中,选择添加权限,然后选择附加策略。
-
在其他权限策略部分中,输入您在之前步骤中创建的策略名称。例如,JenkinsPolicy。
-
选中您的策略旁边的复选框,然后选择附加策略。
使用以下步骤在您的Jenkins服务器 Amazon CLI 上进行配置。
配置Jenkins服务器以实现自动化
-
使用首选浏览器通过端口 8080 连接到Jenkins服务器以访问管理界面。
-
输入
/var/lib/jenkins/secrets/initialAdminPassword
在中找到的密码。要显示您的密码,请运行以下命令。sudo cat /var/lib/jenkins/secrets/initialAdminPassword
-
Jenkins安装脚本会将您定向到 “自定义 Jenkins” 页面。选择安装建议的插件。
-
安装完成后,选择 “管理员凭据”,选择 “保存凭据”,然后选择 “开始使用” Jenkins。
-
在左侧导航窗格中,选择 “管理”Jenkins,然后选择 “管理插件”。
-
选可用选项卡,然后输入
Amazon EC2 plugin
。 -
选中
Amazon EC2 plugin
的复选框,然后选择安装但不重新启动。 -
安装完成后,选择返回首页。
-
选择 “管理”Jenkins,然后选择 “管理节点和云”。
-
在配置云部分中,选择添加新云,然后选择 Amazon EC2。
-
在其余字段中输入您的信息。确保选择使用 EC2 实例配置文件获取凭证选项。
使用以下步骤将您的Jenkins项目配置为调用 Automation。
将Jenkins服务器配置为调用 Automation
-
在 Web 浏览器中打开Jenkins控制台。
-
选择要配置用于自动化的项目,然后选择配置。
-
在构建选项卡上,选择添加构建步骤。
-
选择执行 shell 或执行 Windows 批命令(具体取决于您的操作系统)。
-
在 “命令” 字段中,运行如下 Amazon CLI 命令。将每个
示例资源占位符
替换为您自己的信息。aws ssm start-automation-execution \ --document-name
runbook name
\ --regionAmazon Web Services 区域 of your source AMI
\ --parametersrunbook parameters
以下示例命令使用在中
latestAmi
创建的 UpdateMyLatestWindowsAmirunbook 和 Systems Manager 参数。使用 Automation、Amazon Lambda 和 Parameter Store 来更新黄金 AMIaws ssm start-automation-execution \ --document-name UpdateMyLatestWindowsAmi \ --parameters \ "sourceAMIid='{{ssm:latestAmi}}'" --region
region
在中Jenkins,该命令类似于以下屏幕截图中的示例。
-
在Jenkins项目中,选择 “立即构建”。 Jenkins返回类似于以下示例的输出。