在 AWS CodeStar 中创建项目 - AWS CodeStar

2024 年 7 月 31 日,亚马逊 Web Services (AWS) 将停止支持创建和查看 AWS CodeStar 项目。2024 年 7 月 31 日之后,您将无法再访问 AWS CodeStar 控制台或创建新项目。但是,由 AWS CodeStar创建的 AWS 资源(包括您的源存储库、管道和构建)将不受此更改的影响,并将继续运行。 AWS CodeStar 此次停用不会影响连接和 AWS CodeStar 通知。

 

如果您想跟踪工作、开发代码以及构建、测试和部署应用程序,Amazon CodeCatalyst 提供了简化的入门流程和其他功能来管理您的软件项目。详细了解 Amazon 的功能定价 CodeCatalyst。

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

在 AWS CodeStar 中创建项目

您可使用 AWS CodeStar 控制台创建项目。如果您使用了项目模板,它将为您设置所需的资源。该模板还包括可供您用于开始编码的示例代码。

要创建项目,请以具有 AWSCodeStarFullAccess 策略或同等权限的 IAM 用户的身份登录 AWS Management Console。有关更多信息,请参阅设置 AWS CodeStar

注意

在完成本主题的步骤之前,您必须完成 设置 AWS CodeStar 中的步骤。

在 AWS CodeStar 中创建项目(控制台)

使用 AWS CodeStar 控制台创建项目。

在 AWS CodeStar 中创建项目
  1. 登录 AWS Management Console,然后通过以下网址打开 AWS CodeStar 控制台:https://console.aws.amazon.com/codestar/

    确保您已登录要在其中创建项目及其资源的 AWS 区域。例如,要在美国东部(俄亥俄州)中创建项目,请确保您已选择 AWS 区域。有关 AWS CodeStar 在其中可用的 AWS 区域的信息,请参阅 AWS 一般参考中的区域和端点

  2. AWS CodeStar 页面上,选择创建项目

  3. 创建项目模板页面上,从 AWS CodeStar 项目模板的列表中选择项目类型。您可使用筛选栏缩小所选内容的范围。例如,对于要部署到 Amazon EC2 实例、用 Node.js 编写的 Web 应用程序项目,请选中 Web 应用程序Node.jsAmazon EC2 复选框。随后,从可用于此选项集的模板中进行选择。

    有关更多信息,请参阅AWS CodeStar 项目模板

  4. 选择下一步

  5. 项目名称文本输入字段中,输入项目的名称,例如我的第一个项目。在项目 ID 中,项目的 ID 派生自此项目名称,但限制为 15 个字符。

    例如,名为我的第一个项目的项目的默认 ID 是 my-first-projec。此项目 ID 是与项目关联的所有资源的名称的基础。AWS CodeStar 使用此项目 ID 作为代码存储库 URL 的一部分,以及 IAM 中相关安全访问角色和策略的名称的一部分。创建项目后,项目 ID 便无法更改。要在创建项目之前编辑项目 ID,请在项目 ID 中输入要使用的 ID。

    有关项目名称和项目 ID 的限制的信息,请参阅 AWS CodeStar 中的限制

    注意

    对于您的 AWS 账户来说,项目 ID 在某个 AWS 区域必须唯一。

  6. 选择存储库提供商 AWS CodeCommitGitHub

  7. 如果您选择了 AWS CodeCommit,则对于存储库名称,请接受默认的 AWS CodeCommit 存储库名称,或输入其他名称。然后跳至步骤 9。

  8. 如果您选择 GitHub,则需要选择或创建连接资源。如果您已有连接,请在搜索栏中选择该连接。否则,立即创建新连接。选择连接到 GitHub

    创建连接页面随即显示。

    注意

    要创建连接,您必须拥有 GitHub 账户。您必须是组织所有者才能为组织创建连接。

    Form to create a GitHub App connection with a field for connection name and a connect button.
    1. 创建 GitHub 应用程序连接连接名称的输入文本字段中,输入连接的名称。选择连接到 GitHub

      连接到 GitHub 页面将出现,并显示 GitHub 应用程序字段。

    2. GitHub 应用程序下,选择一个应用程序安装或选择安装新应用程序来创建一个应用程序安装。

      注意

      您可以为与特定提供程序的所有连接安装一个应用程序。如果您已经安装了 AWS Connector for GitHub 应用程序,选择它并跳过此步骤。

    3. 安装 AWS Connector for GitHub 页面中,选择要在其中安装应用程序的账户。

      注意

      如果您之前已安装了应用程序,则可以选择配置,继续进入应用程序安装的修改页面,也可以使用后退按钮返回到控制台。

    4. 如果显示确认密码以继续页面,请输入您的 GitHub 密码,然后选择登录

    5. 安装 AWS Connector for GitHub 页面中,保留所有默认设置,然后选择安装

    6. 连接到 GitHub 页面上,新安装的连接 ID 将显示在 GitHub 应用程序文本输入字段中。

      创建连接后,在 CodeStar“创建项目”页面中,将显示准备连接消息。

      注意

      您可以在开发人员工具控制台的设置下查看您的连接。有关更多信息,请参阅开始使用连接

      显示已完成的 GitHub 存储库连接设置的控制台屏幕截图。
    7. 对于存储库所有者,请选择 GitHub 组织或您的个人 GitHub 账户。

    8. 对于存储库名称,请接受默认的 GitHub 存储库名称,或输入其他名称。

    9. 选择 公共私有

      注意

      此外,如果您想使用 AWS Cloud9 作为开发环境,则必须选择公共

    10. (可选)对于存储库描述,请为 GitHub 存储库输入描述。

    注意

    如果您选择 Alexa Skill 项目模板,则需要关联 Amazon 开发人员账户。有关如何使用 Alexa Skill 项目的更多信息,请参阅 教程:在 AWS CodeStar 中创建 Alexa 技能项目

  9. 如果您的项目已部署到 Amazon EC2 实例,并且您想进行更改,请在 Amazon EC2 配置中配置您的 Amazon EC2 实例。例如,您可以从项目的可用实例类型中进行选择。

    注意

    不同的 Amazon EC2 实例类型将提供不同级别的计算能力,并且可能具有不同的关联成本。有关更多信息,请参阅 Amazon EC2 实例类型Amazon EC2 定价

    如果您在 Amazon Virtual Private Cloud 中创建了多个虚拟私有云 (VPC) 或多个子网,则还可选择要使用的 VPC 和子网。但是,如果您选择专用实例上不支持的 Amazon EC2 实例类型,则无法选择其实例租赁设置为专用的 VPC。

    有关更多信息,请参阅什么是 Amazon VPC?专用实例基本信息

    密钥对中,选择在 步骤 4:为 AWS CodeStar 项目创建 Amazon EC2 密钥对 创建的 Amazon EC2 密钥对。选择我确认我有权访问私钥文件

  10. 选择下一步

  11. 查看资源和配置详细信息。

  12. 选择 NextCreate project。(显示的选择取决于您的项目模板。)

    创建项目(包括存储库)可能需要几分钟时间。

  13. 在项目拥有存储库后,您可以使用存储库页面来配置对它的访问权限。使用后续步骤中的链接来配置 IDE,设置问题跟踪或向项目中添加团队成员。

在创建项目时,您可以从命令行或您常用的 IDE 为项目存储库添加成员配置访问权限

在 AWS CodeStar 中创建项目 (AWS CLI)

AWS CodeStar 项目是源代码和为部署代码而创建的资源的组合。帮助您构建、发布和部署您的代码的资源集合称为工具链资源。在创建项目期间,AWS CloudFormation 模板将工具链资源预配置在一个持续集成/持续部署 (CI/CD) 管道中。

当您使用控制台创建项目时,将为您创建工具链模板。当您使用 AWS CLI 创建项目时,创建用于创建您的工具链资源的工具链模板。

完整的工具链需要以下推荐的资源:

  1. 包含您的源代码的 CodeCommit 或 GitHub 存储库。

  2. 配置为侦听存储库更改的 CodePipeline 管道。

    1. 当您使用 CodeBuild 运行单元测试或集成测试时,建议您向管道中添加构建阶段以创建构建构件。

    2. 建议您向管道中添加使用 CodeDeploy 或 AWS CloudFormation 将构建构件和源代码部署到运行时基础设施的部署阶段。

      注意

      因为 CodePipeline 要求管道中至少具有两个阶段,并且第一个阶段必须是源阶段,所以请添加构建或部署阶段作为第二个阶段。

AWS CodeStar 工具链被定义为 CloudFormation 模板

有关说明如何完成此任务和设置示例资源的教程,请参阅教程:使用 AWS CLI 在 AWS CodeStar 中创建项目

先决条件:

当您创建项目时,在输入文件中提供以下参数。如果未提供以下参数,AWS CodeStar 将创建一个空项目。

  • 源代码。如果此参数包含在您的请求中,则您还必须包括工具链模板。

    • 您的源代码必须包含运行项目所需的应用程序代码。

    • 您的源代码必须包含任何所需配置文件,如 CodeBuild 项目的 buildspec.yml 或 CodeDeploy 部署的 appspec.yml。

    • 您可以在源代码中包含可选项,如 README 或非工具链 AWS 资源的 template.yml。

  • 工具链模板。您的工具链模板预配置要为您的项目管理的 AWS 资源和 IAM 角色。

  • 源位置。如果您为项目指定源代码和工具链模板,则必须提供位置。将您的源文件和工具链模板上传到 Amazon S3 存储桶。AWS CodeStar 将检索文件并使用它们创建项目。

重要

确保在 AWS CLI 中配置首选的 AWS 区域。在 AWS CLI 中配置的 AWS 区域中创建您的项目。

  1. 运行 create-project 命令并包含 --generate-cli-skeleton 参数:

    aws codestar create-project --generate-cli-skeleton

    输出中将显示 JSON 格式的数据。将数据复制到本地计算机上或安装 AWS CLI 的实例上某位置处的文件(如 input.json)中。按照下面所示修改复制的数据,并保存您的结果。

    { "name": "project-name", "id": "project-id", "description": "description", "sourceCode": [ { "source": { "s3": { "bucketName": "s3-bucket-name", "bucketKey": "s3-bucket-object-key" } }, "destination": { "codeCommit": { "name": "codecommit-repository-name" }, "gitHub": { "name": "github-repository-name", "description": "github-repository-description", "type": "github-repository-type", "owner": "github-repository-owner", "privateRepository": true, "issuesEnabled": true, "token": "github-personal-access-token" } } } ], "toolchain": { "source": { "s3": { "bucketName": "s3-bucket-name", "bucketKey": "s3-bucket-object-key" } }, "roleArn": "service-role-arn", "stackParameters": { "KeyName": "key-name" } }, "tags": { "KeyName": "key-name" } }

    替换以下内容:

    • project-name:必需。此 AWS CodeStar 项目的友好名称。

    • project-id:必需。此 AWS CodeStar 项目的项目 ID。

      注意

      在创建项目时,您必须具有唯一的项目 ID。如果您提交的输入文件中的项目 ID 已存在,则您会收到错误。

    • description:可选。此 AWS CodeStar 项目的描述。

    • sourceCode:可选。为项目提供的源代码的配置信息。目前,仅支持单个 sourceCode 对象。每个 sourceCode 对象包含有关 AWS CodeStar 检索源代码的位置和源代码的填充目标的信息。

      • source:必需。这定义您将源代码上传到的位置。唯一受支持的源是 Amazon S3。在创建您的项目后,AWS CodeStar 检索源代码并将其包含在存储库中。

        • S3:可选。您的源代码的 Amazon S3 位置。

          • bucket-name:包含您的源代码的存储桶。

          • bucket-key:指向包含您的源代码的 .zip 文件(例如,src.zip)的存储桶前缀和对象键。

      • destination:可选。在创建项目时,将您的源代码填充到的目标位置。您的源代码的受支持目标是 CodeCommit 和 GitHub。

        您只能提供下面两个选项之一:

        • codeCommit:唯一的必需属性是应包含您的源代码的 CodeCommit 存储库的名称。此存储库应在您的工具链模板中。

          注意

          对于 CodeCommit,您必须提供在工具链堆栈中定义的存储库的名称。AWS CodeStar 将使用您在 Amazon S3 中提供的源代码初始化此存储库。

        • gitHub:此对象表示创建 GitHub 存储库并使用源代码为其做种所需的信息。如果您选择 GitHub 存储库,则需要以下值。

          注意

          对于 GitHub,您无法指定现有的 GitHub 存储库。AWS CodeStar 会为您创建一个存储库并使用您上传到 Amazon S3 的源代码填充它。AWS CodeStar 使用以下信息在 GitHub 中创建您的存储库。

          • name:必需。您的 GitHub 存储库的名称。

          • description:必需。您的 GitHub 存储库的描述。

          • type:必需。GitHub 存储库的类型。有效值为 User 或 Organization。

          • owner:必需。您的存储库所有者的 GitHub 用户名称。如果存储库应由 GitHub 组织所有,请提供组织名称。

          • privateRepository:必需。您希望此存储库是私有的还是公有的。有效值为 true 或 false。

          • issuesEnabled:必需。您是否希望在 GitHub 中对此存储库启用问题。有效值为 true 或 false。

          • token:可选。这是 AWS CodeStar 用于访问您的 GitHub 账户的个人访问令牌。此令牌必须包含以下范围:存储库用户admin:repo_hook。要从 GitHub 检索个人访问令牌,请参阅 GitHub 网站上的为命令行创建个人访问令牌

            注意

            如果您使用 CLI 创建包含 GitHub 源存储库的项目,则 AWS CodeStar 使用您的令牌通过 OAuth 应用程序访问存储库。如果您使用控制台创建包含 GitHub 源存储库的项目,则 AWS CodeStar 使用连接资源,该资源通过 GitHub 应用程序访问存储库。

        • toolchain:有关要在创建项目时设置的 CI/CD 工具链的信息。这包括您上传工具链模板的位置。模板将创建 AWS CloudFormation 堆栈,其中包含您的工具链资源。这还包括供 AWS CloudFormation 引用的任何参数覆盖和用于创建堆栈的角色。AWS CodeStar 检索模板并使用 AWS CloudFormation 运行模板。

          • source:必需。您工具链模板的位置。Amazon S3 是唯一受支持的源位置。

            • S3:可选。您将工具链模板上传到的 Amazon S3 位置。

              • bucket-name:Amazon S3 存储桶的名称。

              • bucket-key:指向包含您的工具链模板的 .yml 或 .json 文件(例如,files/toolchain.yml)的存储桶前缀和对象键。

          • stackParameters:可选。包含传递到 AWS CloudFormation 的键-值对。这些是您的工具链模板设置为引用的参数(如果有)。

          • role:可选。用于在您的账户中创建工具链资源的角色。角色是必填项,如下所示:

            • 如果未提供角色,则 AWS CodeStar 使用工具链为 AWS CodeStar 快速启动模板时为您的账户创建的默认服务角色。如果您的账户中不存在服务角色,您可以创建一个。有关信息,请参阅 步骤 2:创建 AWS CodeStar 服务角色

            • 如果要上传并使用自己的自定义工具链模板,则必须提供角色。您可以根据 AWS CodeStar 服务角色和策略语句创建一个角色。有关此策略声明的示例,请参阅 AWSCodeStarServiceRole 政策

        • tags:可选。附加到您的 AWS CodeStar 项目的标签。

          注意

          这些标签不会附加到项目中包含的资源。

  2. 切换到包含您刚才保存的文件的目录,然后再次运行 create-project 命令。包含 --cli-input-json 参数。

    aws codestar create-project --cli-input-json file://input.json
  3. 如果成功,输出中将显示与以下内容类似的数据:

    { "id": "project-ID", "arn": "arn" }
    • 输出包含有关新项目的信息:

      • id 值表示项目 ID。

      • arn 值表示项目的 ARN。

  4. 使用 describe-project 命令检查您的项目创建状态。包含 --id 参数。

    aws codestar describe-project --id <project_ID>

    与以下内容类似的数据将显示在输出中:

    { "name": "MyProject", "id": "myproject", "arn": "arn:aws:codestar:us-east-1:account_ID:project/myproject", "description": "", "createdTimeStamp": 1539700079.472, "stackId": "arn:aws:cloudformation:us-east-1:account_ID:stack/awscodestar-myproject/stack-ID", "status": { "state": "CreateInProgress" } }
    • 输出包含有关新项目的信息:

      • state 值表示项目创建状态,如 CreateInProgressCreateComplete

在创建项目时,您可以从命令行或您常用的 IDE 为项目存储库添加成员配置访问权限