本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:创建部署到 Service Catalog 的管道
Service Catalog 使您能够基于 Amazon CloudFormation 模板创建和配置产品。本教程向您展示如何创建和配置管道,以便将您的产品模板部署到 Service Catalog,并交付您在源存储库(已在 GitHub CodeCommit、或 Amazon S3 中创建)中所做的更改。
注意
当 Amazon S3 是管道的源提供程序时,您必须将所有源文件打包为单个 .zip 文件上传到桶。否则,源操作将失败。
首先,您在 Service Catalog 中创建一个产品,然后在 Amazon CodePipeline中创建管道。本教程提供两个设置部署配置的选项:
-
在 Service Catalog 中创建产品并将模板文件上传到您的源存储库。在 CodePipeline 控制台中提供产品版本和部署配置(无需单独的配置文件)。请参阅 选项 1:在不使用配置文件的情况下部署到 Service Catalog。
注意
可以按 YAML 或 JSON 格式创建模板文件。
-
在 Service Catalog 中创建产品并将模板文件上传到您的源存储库。在单独的配置文件中提供产品版本和部署配置。请参阅 选项 2:使用配置文件部署到 Service Catalog。
选项 1:在不使用配置文件的情况下部署到 Service Catalog
在此示例中,您上传了 S3 存储桶的示例 Amazon CloudFormation 模板文件,然后在 Service Catalog 中创建您的产品。接下来,创建管道并在 CodePipeline 控制台中指定部署配置。
步骤 1:将示例模板文件上传到源存储库
-
打开文本编辑器。通过将以下内容粘贴到文件中创建一个示例模板。将该文件保存为
S3_template.json
。{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "CloudFormation Sample Template S3_Bucket: Sample template showing how to create a privately accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the resources used if you create a stack from this template.", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": {} } }, "Outputs": { "BucketName": { "Value": { "Ref": "S3Bucket" }, "Description": "Name of Amazon S3 bucket to hold website content" } } }
此模板 Amazon CloudFormation 允许创建可由 Service Catalog 使用的 S3 存储桶。
-
将
S3_template.json
文件上传到 Amazon CodeCommit 存储库中。
步骤 2:在 Service Catalog 中创建产品
-
以 IT 管理员身份登录到 Service Catalog 控制台,转到产品页面,然后选择上传新产品。
-
在上传新产品页面上,完成以下操作:
-
在产品名称中,输入您要用于新产品的名称。
-
在描述中,输入产品目录描述。此说明显示在产品列表中,可帮助用户选择正确的产品。
-
在提供者中,输入 IT 部门或管理员的名称。
-
选择下一步。
-
-
(可选)在输入支持详细信息中,输入产品支持联系人信息,然后选择下一步。
-
在版本详细信息中,完成以下内容:
-
选择上传模板文件。浏览您的
S3_template.json
文件并将其上传。 -
在版本标题中,输入产品版本名称(例如
devops S3 v2
)。 -
在描述中,输入区分此版本与其他版本的详细信息。
-
选择下一步。
-
-
在审核页面上,确认信息正确,然后选择创建。
-
在产品页面上,在浏览器中复制新产品的 URL。这包含产品 ID。复制并保留此产品 ID。您可以在中创建管道时使用它 CodePipeline。
以下是名为
my-product
的产品的 URL。要提取产品 ID,请复制等号(=
)和符号(&
)之间的值。在此示例中,产品 ID 为prod-example123456
。https://<region-URL>/servicecatalog/home?region=<region>#/admin-products?productCreated=prod-example123456&createdProductTitle=my-product
注意
复制您的产品的 URL,然后再离开该页面。离开此页面后,必须使用 CLI 获取产品 ID。
几秒钟后,您的产品会显示在产品页面上。您可能需要刷新浏览器才能在列表中看到此产品。
步骤 3:创建管道
-
要命名您的管道并选择用于管道的参数,请执行以下操作:
登录 Amazon Web Services Management Console 并打开 CodePipeline 控制台,网址为 https://console.aws.amazon.com/codepipeline/
。 -
选择开始使用。选择创建管道,然后输入管道名称。
-
在本教程中,为管道类型选择 V1。也可以选择 V2;但请注意,不同管道类型具有不同的特性和价格。有关更多信息,请参阅 管道类型。
-
在服务角色中,选择新建服务角色 CodePipeline 以允许在 IAM 中创建服务角色。
-
将高级设置中的各项设置保留为默认值,然后选择下一步。
-
要添加源阶段,请执行以下操作:
-
在源提供程序中,选择 Amazon CodeCommit。
-
在存储库名称和分支名称中,输入您要用于自己的源操作的存储库和分支。
-
选择下一步。
-
-
在添加构建阶段中,选择跳过构建阶段,然后再次选择跳过以接受警告消息。
-
在添加部署阶段中,完成以下操作:
-
在部署提供商中,选择Amazon Service Catalog。
-
对于部署配置,请选择输入部署配置。
-
在产品 ID 中,粘贴您从 Service Catalog 控制台复制的产品 ID。
-
在模板文件路径中,输入存储模板文件的位置的相对路径。
-
在产品类型中,选择 Amazon CloudFormation 模板。
-
在产品版本名称中,输入您在 Service Catalog 中指定的产品版本的名称。如果您想将模板更改部署到新的产品版本,请输入尚未用于同一产品中任何先前产品版本的产品版本名称。
-
对于输入项目,选择源输入项目。
-
选择下一步。
-
-
在审核中,审核您的管道设置,然后选择创建。
-
管道成功运行后,在部署阶段上选择详细信息。这会在 Service Catalog 中打开您的产品。
-
在您的产品信息中,选择您的版本名称以打开产品模板。查看模板部署。
步骤 4:在 Service Catalog 中推送更改并验证产品
-
在 CodePipeline 控制台中查看您的管道,然后在源代码舞台上选择 Deta ils。您的源 Amazon CodeCommit 存储库将在控制台中打开。选择编辑,然后在文件中进行更改(例如,更改描述)。
"Description": "Name of Amazon S3 bucket to hold and version website content"
-
提交并推送您的更改。推送更改后,您的管道启动。当管道运行完成时,在部署阶段上选择详细信息以在 Service Catalog 中打开您的产品。
-
在您的产品信息中,选择新的版本名称以打开产品模板。查看部署的模板更改。
选项 2:使用配置文件部署到 Service Catalog
在此示例中,您上传了 S3 存储桶的示例 Amazon CloudFormation 模板文件,然后在 Service Catalog 中创建您的产品。您还可以上传指定您的部署配置的单独配置文件。接下来,您可以创建您的管道,并指定部署文件的位置。
步骤 1:将示例模板文件上传到源存储库
-
打开文本编辑器。通过将以下内容粘贴到文件中创建一个示例模板。将该文件保存为
S3_template.json
。{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "CloudFormation Sample Template S3_Bucket: Sample template showing how to create a privately accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the resources used if you create a stack from this template.", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": {} } }, "Outputs": { "BucketName": { "Value": { "Ref": "S3Bucket" }, "Description": "Name of Amazon S3 bucket to hold website content" } } }
此模板 Amazon CloudFormation 允许创建可由 Service Catalog 使用的 S3 存储桶。
-
将
S3_template.json
文件上传到 Amazon CodeCommit 存储库中。
步骤 2:创建产品部署配置文件
-
打开文本编辑器。为您的产品创建配置文件。配置文件用于定义 Service Catalog 部署参数/首选项。创建管道时要使用此文件。
此示例提供了“devops S3 v2”的
ProductVersionName
和MyProductVersionDescription
的ProductVersionDescription
。如果您想将模板更改部署到新的产品版本,只需输入尚未用于同一产品中任何先前产品版本的产品版本名称。将该文件保存为
sample_config.json
。{ "SchemaVersion": "1.0", "ProductVersionName": "devops S3 v2", "ProductVersionDescription": "MyProductVersionDescription", "ProductType": "CLOUD_FORMATION_TEMPLATE", "Properties": { "TemplateFilePath": "/S3_template.json" } }
此文件将在您的管道每次运行时为您创建产品版本信息。
-
将
sample_config.json
文件上传到 Amazon CodeCommit 存储库中。确保您将此文件上载到您的源存储库。
步骤 3:在 Service Catalog 中创建产品
-
以 IT 管理员身份登录到 Service Catalog 控制台,转到产品页面,然后选择上传新产品。
-
在上传新产品页面上,完成以下操作:
-
在产品名称中,输入您要用于新产品的名称。
-
在描述中,输入产品目录描述。此说明出现在产品列表中,可帮助用户选择正确的产品。
-
在提供者中,输入 IT 部门或管理员的名称。
-
选择下一步。
-
-
(可选)在输入支持详细信息中,输入产品支持联系人信息,然后选择下一步。
-
在版本详细信息中,完成以下内容:
-
选择上传模板文件。浏览您的
S3_template.json
文件并将其上传。 -
在版本标题中,输入产品版本的名称(例如,“devops S3 v2”)。
-
在描述中,输入区分此版本与其他版本的详细信息。
-
选择下一步。
-
-
在审核页面上,确认信息正确,然后选择确认并上传。
-
在产品页面上,在浏览器中复制新产品的 URL。这包含产品 ID。复制并保留此产品 ID。您在中创建管道时使用 CodePipeline。
以下是名为
my-product
的产品的 URL。要提取产品 ID,请复制等号(=
)和符号(&
)之间的值。在此示例中,产品 ID 为prod-example123456
。https://<region-URL>/servicecatalog/home?region=<region>#/admin-products?productCreated=prod-example123456&createdProductTitle=my-product
注意
复制您的产品的 URL,然后再离开该页面。离开此页面后,必须使用 CLI 获取产品 ID。
几秒钟后,您的产品会显示在产品页面上。您可能需要刷新浏览器才能在列表中看到此产品。
步骤 4:创建管道
-
要命名您的管道并选择用于管道的参数,请执行以下操作:
登录 Amazon Web Services Management Console 并打开 CodePipeline 控制台,网址为 https://console.aws.amazon.com/codepipeline/
。 -
选择开始使用。选择创建管道,然后输入管道名称。
-
在服务角色中,选择新建服务角色 CodePipeline 以允许在 IAM 中创建服务角色。
-
将高级设置中的各项设置保留为默认值,然后选择下一步。
-
要添加源阶段,请执行以下操作:
-
在源提供程序中,选择 Amazon CodeCommit。
-
在存储库名称和分支名称中,输入您要用于自己的源操作的存储库和分支。
-
选择下一步。
-
-
在添加构建阶段中,选择跳过构建阶段,然后再次选择跳过以接受警告消息。
-
在添加部署阶段中,完成以下操作:
-
在部署提供商中,选择Amazon Service Catalog。
-
选择使用配置文件。
-
在产品 ID 中,粘贴您从 Service Catalog 控制台复制的产品 ID。
-
在配置文件路径中,输入存储库中配置文件的文件路径。
-
选择下一步。
-
-
在审核中,审核您的管道设置,然后选择创建。
-
管道成功运行后,在部署阶段上选择详细信息,以便在 Service Catalog 中打开您的产品。
-
在您的产品信息中,选择您的版本名称以打开产品模板。查看模板部署。
步骤 5:在Service Catalog 中推送更改并验证产品
-
在 CodePipeline 控制台中查看您的管道,然后在源代码舞台上选择 Deta ils。您的源 Amazon CodeCommit 存储库将在控制台中打开。选择编辑,然后在文件中进行更改(例如,更改描述)。
"Description": "Name of Amazon S3 bucket to hold and version website content"
-
提交并推送您的更改。推送更改后,您的管道启动。当管道运行完成时,在部署阶段上选择详细信息以在 Service Catalog 中打开您的产品。
-
在您的产品信息中,选择新的版本名称以打开产品模板。查看部署的模板更改。