AMIs使用 “自动化” 和 Jenkins - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AMIs使用 “自动化” 和 Jenkins

如果您的组织在 CI/CD 管道中使用Jenkins软件,则可以将 Automation 添加为构建后步骤,以便将应用程序版本预安装到 () 中。Amazon Machine Images AMIs自动化是一种能力 Amazon Systems Manager。您还可以使用Jenkins计划功能调用 Automation 并创建自己的操作系统 (OS) 补丁节奏。

以下示例显示了如何从本地或亚马逊弹性计算云 (Amazon EC2) 中运行的Jenkins服务器调用自动化。对于身份验证,Jenkins服务器使用基于您在示例中创建并附加到您的实例配置文件的 IAM 策略的 Amazon 证书。

注意

配置实例时,请务必遵循Jenkins安全最佳实践。

开始前的准备工作

在使用配置自动化之前,请完成以下任务Jenkins:

为Jenkins服务器创建 IAM 策略
  1. 登录 Amazon Web Services Management Console 并打开 IAM 控制台,网址为 https://console.aws.amazon.com/iam/

  2. 在导航窗格中选择策略,然后选择创建策略

  3. 选择 JSON 选项卡。

  4. 将每个示例资源占位符替换为您自己的信息。

    { "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" ] } ] }
  5. 选择查看策略

  6. 查看策略页面上,对于名称,输入内联策略的名称,例如 JenkinsPolicy

  7. 选择创建策略

  8. 在导航窗格中,选择角色

  9. 选择附加到您的Jenkins服务器的实例配置文件。

  10. 权限选项卡中,选择添加权限,然后选择附加策略

  11. 其他权限策略部分中,输入您在之前步骤中创建的策略名称。例如,JenkinsPolicy

  12. 选中您的策略旁边的复选框,然后选择附加策略

使用以下步骤在您的Jenkins服务器 Amazon CLI 上进行配置。

配置Jenkins服务器以实现自动化
  1. 使用首选浏览器通过端口 8080 连接到Jenkins服务器以访问管理界面。

  2. 输入 /var/lib/jenkins/secrets/initialAdminPassword 在中找到的密码。要显示您的密码,请运行以下命令。

    sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  3. Jenkins安装脚本会将您定向到 “自定义 Jenkins” 页面。选择安装建议的插件

  4. 安装完成后,选择 “管理员凭据”,选择 “保存凭据”,然后选择 “开始使用” Jenkins。

  5. 在左侧导航窗格中,选择 “管理”Jenkins,然后选择 “管理插件”。

  6. 可用选项卡,然后输入 Amazon EC2 plugin

  7. 选中 Amazon EC2 plugin 的复选框,然后选择安装但不重新启动

  8. 安装完成后,选择返回首页

  9. 选择 “管理”Jenkins,然后选择 “管理节点和云”。

  10. 配置云部分中,选择添加新云,然后选择 Amazon EC2

  11. 在其余字段中输入您的信息。确保选择使用 EC2 实例配置文件获取凭证选项。

使用以下步骤将您的Jenkins项目配置为调用 Automation。

将Jenkins服务器配置为调用 Automation
  1. 在 Web 浏览器中打开Jenkins控制台。

  2. 选择要配置用于自动化的项目,然后选择配置

  3. 构建选项卡上,选择添加构建步骤

  4. 选择执行 shell执行 Windows 批命令(具体取决于您的操作系统)。

  5. 在 “命令” 字段中,运行如下 Amazon CLI 命令。将每个示例资源占位符替换为您自己的信息。

    aws ssm start-automation-execution \ --document-name runbook name \ --region Amazon Web Services 区域 of your source AMI \ --parameters runbook parameters

    以下示例命令使用在中latestAmi创建的 UpdateMyLatestWindowsAmirunbook 和 Systems Manager 参数。使用 Automation、Amazon Lambda 和 Parameter Store 来更新黄金 AMI

    aws ssm start-automation-execution \ --document-name UpdateMyLatestWindowsAmi \ --parameters \ "sourceAMIid='{{ssm:latestAmi}}'" --region region

    在中Jenkins,该命令类似于以下屏幕截图中的示例。

    
                                Jenkins 信息
  6. 在Jenkins项目中,选择 “立即构建”。 Jenkins返回类似于以下示例的输出。

    
                                Jenkins 信息