AWS CodeStar でプロジェクトを作成する - AWS CodeStar

2024 年 7 月 31 日をもって、Amazon 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にサインインして、https://console.aws.amazon.com/codestar/ で、AWS CodeStar コンソールを開きます。

    プロジェクトとそのリソースを作成する AWS リージョンにサインインしていることを確認してください。例えば、米国東部 (オハイオ) でプロジェクトを作成するには、AWS リージョンが選択されていることを確認します。AWS CodeStar が利用可能な AWS リージョンの詳細については、「AWS 全般のリファレンス」の「リージョンとエンドポイント」を参照してください。

  2. [AWS CodeStar] ページで、[プロジェクトの作成] を選択します。

  3. [プロジェクトのテンプレートを選択する] ページで、AWS CodeStar プロジェクトテンプレートのリストからプロジェクトの種類を選択します。フィルタバーを使用して選択を絞り込むことができます。例えば、Amazon EC2 インスタンスにデプロイされる Node.js で記述されたウェブアプリケーションプロジェクトの場合は、[Web application] (ウェブアプリケーション)、[Node.js] の順に選択し、[Amazon EC2] チェックボックスをオンにします。次に、オプションのセットで使用可能なテンプレートから選択します。

    詳細については、「AWS CodeStar プロジェクトテンプレート」を参照してください。

  4. [Next] (次へ) を選択します。

  5. [プロジェクト名] で、My First Project などのプロジェクト名を入力します。[Project ID] (プロジェクト ID) では、プロジェクトの ID はこのプロジェクト名から派生しますが、15 文字の制限があります。

    例えば、My First Project という名前のプロジェクトのデフォルト ID は my-first-projec です。このプロジェクト ID は、プロジェクトに関連付けられているすべてのリソースの名前のベースです。AWS CodeStar は、このプロジェクト ID をコードリポジトリの URL の一部として使用するほか、IAM の関連するセキュリティアクセスロールとポリシーの名前にも使用します。プロジェクトの作成後、プロジェクト ID は変更できません。プロジェクトを作成する前にプロジェクト ID を編集するには、[Project ID] (プロジェクト ID) で、使用する ID を入力します。

    プロジェクト名とプロジェクト ID の制限の詳細については、AWS CodeStar における制限 を参照してください。

    注記

    AWS リージョン内の AWS アカウントでは、プロジェクト ID が一意である必要があります。

  6. リポジトリプロバイダー、AWS CodeCommit または [GitHub] を選択します。

  7. AWS CodeCommit を選択した場合は、[Repository name] (リポジトリ名) で、デフォルトの AWS CodeCommit リポジトリ名を受け入れるか、別の名前を入力します。ステップ 9 に進みます。

  8. [GitHub] を選択した場合、接続リソースを選択または作成する必要があります。既存の接続がある場合は、検索フィールドで選択します。それ以外の場合は、ここで新しい接続を作成します。[Connect to GitHub] (GitHub に接続) を選択します。

    [Create a connection] (接続の作成) ページが表示されます。

    注記

    接続を作成するには、GitHub アカウントが必要です。組織の接続を作成する場合は、組織の所有者である必要があります。

    1. [GitHub App 接続の作成] で、[接続名] テキスト入力フィールドに接続名を入力します。[Connect to GitHub] (GitHub に接続) を選択します。

      [Connect to GitHub] (GitHub に接続) ページが表示され、[GitHub Apps] フィールドが表示されます。

    2. [GitHub Apps] で、アプリケーションのインストールを選択するか、[Install a new app] (新しいアプリケーションをインストールする) を選択してアプリケーションを作成します。

      注記

      特定のプロバイダーへのすべての接続に対してアプリを 1 つインストールします。GitHub app 用 ‭AWS‬ コネクターをすでにインストールしている場合は、これを選択してこのステップをスキップしてください。

    3. [Install AWS Connector for GitHub] ページで、アプリをインストールするアカウントを選択します。  

      注記

      アプリケーションをインストール済みである場合は、[Configure] (設定) を選択してアプリのインストールの変更ページに進むか、戻るボタンでコンソールに戻ることができます。

    4. [Confirm password to continue] (パスワードを確認して続行) ページが表示される場合、GitHub パスワードを入力し、[Sign in] (サインイン) を選択します。

    5. [GitHub 用 AWS コネクターのインストール] ページで、デフォルトのままで、[インストール] を選択します。

    6. [GitHub へ接続] ページで、新規インストールのインストール ID が [GitHub Apps] テキスト入力フィールドに表示されます。

      接続が作成された後、CodeStar の [create project] (プロジェクトを作成) ページで、[Ready to connect] (接続準備完了) メッセージが表示されます。

      注記

      [Developer Tools] (デベロッパーツール) コンソールの[Settings] (設定) で接続を表示できます。詳細については、[Getting started with connections] (接続入門ガイド) を参照してください。

      
                        GitHub リポジトリへの接続設定が完了したコンソールのスクリーンショット。
    7. [Repository owner] (リポジトリ所有者) で、GitHub 組織または個人用 GitHub アカウントを選択します。

    8. [Repository name] (リポジトリ名) で、デフォルトの GitHub リポジトリ名を受け入れるか、別の名前を入力します。

    9. [Public] (公開) または[Private] (プライベート) を選択します。

      注記

      AWS Cloud9 を開発環境として使用する場合は、[Public] (公開) を選択する必要があります。

    10. (オプション) [Repository description] (リポジトリの説明) に、GitHub リポジトリの説明を入力します。

    注記

    Alexa スキルプロジェクトテンプレートを選択する場合は、Amazon 開発者アカウントを接続する必要があります。Alexa スキルプロジェクトの操作の詳細については、「チュートリアル: AWS CodeStarで Alexa スキルプロジェクトを作成する」を参照してください。

  9. プロジェクトが Amazon EC2 インスタンスにデプロイされ、変更を加える場合は、‭‬[Amazon EC2 Configuration]‭‬ (Amazon EC2 の設定) で Amazon EC2 インスタンスを設定します。例えば、プロジェクトの使用可能なインスタンスタイプから選択できます。

    注記

    異なる Amazon EC2 インスタンスタイプは、異なるレベルのコンピューティングパワーを提供し、異なる関連費用が発生する可能性があります。詳細については、[Amazon EC2 Instance Types] (Amazon EC2 インスタンスタイプ) と [Amazon EC2 Pricing] (Amazon EC2 の料金) を参照してください。

    複数の仮想プライベートクラウド (VPC) または複数のサブネットが Amazon 仮想プライベートクラウド で作成されている場合は、使用する VPC とサブネットを選択することもできます。ただし、ハードウェア専有インスタンスでサポートされていない Amazon EC2 インスタンスタイプを選択した場合は、インスタンスのテナンシーが [Dedicated] (専有) に設定されている VPC を選択することはできません。

    詳細については、[What Is Amazon VPC?] (Amazon VPC とは) および [Dedicated Instance Basics] (ハードウェア専有インスタンスの基礎) を参照してください。

    [Key pair] (キーペア) で、ステップ 4: AWS CodeStar プロジェクトの Amazon EC2 キーペアの作成 で作成した Amazon EC2 キーペアを選択します。[I acknowledge that I have access to the private key file] (私はプライベートキーファイルへのアクセス権があることを認めます) を選択します。

  10. [Next] (次へ) を選択します。

  11. リソースと設定の詳細を確認します。

  12. [Next] (次へ) または [Create project] (プロジェクトの作成) を選択します。(表示される選択はプロジェクトテンプレートによって異なります。)

    プロジェクト (リポジトリを含む) の作成には数分かかる場合があります。

  13. プロジェクトのリポジトリの作成後は、[Repository] (リポジトリ) ページを使用して、リポジトリへのアクセス権を設定します。[Next steps] (次のステップ) のリンクを使用して、IDE を設定、課題追跡を設定、チームメンバーをプロジェクトに追加できます。

プロジェクトが作成される間、コマンドライン またはお好みの IDE からプロジェクトリポジトリに‭ ‬[add team members]‭‬ (チームメンバーの追加)、または‭ ‬[configure access]‭‬ (アクセスの設定) を行うことができます。

AWS CodeStar でプロジェクトを作成する (AWS CLI)

AWS CodeStar プロジェクトは、コードをデプロイするために作成されたソースコードとリソースの組み合わせです。コードのビルド、リリース、デプロイに役立つリソースのコレクションは、ツールチェーンリソースと呼ばれます。プロジェクト作成時、AWS CloudFormation テンプレートを使用して、継続的な統合/継続的デプロイメント (CI/CD) パイプラインのツールチェーンリソースをプロビジョンします。

コンソールでプロジェクトを作成すると、ツールチェーンテンプレートが作成されます。AWS CLI を使用してプロジェクトを作成する際、ツールチェーンリソースを作成するツールチェーンテンプレートを作成します。

完全なツールチェーンを作成するには、次の推奨リソースが必要です:

  1. ソースコードを保存する CodeCommit または GitHub リポジトリ。

  2. リポジトリへの変更をリッスンするよう設定されている CodePipeline パイプライン。

    1. CodeBuild を使用してユニットテストまたは統合テストを使用する場合は、ビルドステージをパイプラインに追加してビルドアーティファクトを追加することをお勧めします。

    2. CodeDeploy または AWS CloudFormation を使用してビルドアーティファクトとソースコードをランタイムインフラストラクチャにデプロイするデプロイステージを、パイプラインに追加することをお勧めします。

      注記

      CodePipeline では、2 つ以上のステージがパイプラインに必要であり、最初のステージはソースステージにする必要があるため、ビルドステージまたはデプロイステージを 2 番目のステージとして追加します。

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 形式のデータが出力に表示されます。ローカルコンピュータ上の場所にあるファイル (例:input.json )または AWS CLI がインストールされているインスタンス にデータをコピーします。コピーされたデータを次のように変更して、結果を保存します。

    { "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 を使用して入力ファイルを送信すると、エラーが表示されます。

    • 説明: オプション。この AWS CodeStar プロジェクトの説明。

    • sourceCode: オプション。プロジェクト用に指定されたソースコードの設定情報。現在は、単一の sourceCode オブジェクトのみサポートされています。sourceCode オブジェクトにはそれぞれ、AWS CodeStar によってソースコードが取得される場所と、ソースコードが追加される送信先に関する情報が含まれます。

      • source: 必須。これにより、ソースコードをアップロードした場所が定義されます。サポートされるソースは Amazon S3 のみです。AWS CodeStar はソースコードを取得して、プロジェクト作成後にリポジトリにそれを含めます。

        • S3: オプション。ソースコードの Amazon S3 の場所。

          • bucket-name: ソースコードが含まれるバケット。

          • bucket-key: ソースコードを含む .zip ファイル (例: src.zip) を指すバケットのプリフィックスとオブジェクトキー。

      • 送信先: オプション。プロジェクト作成時にソースコードが追加される送信先の場所。ソースコードの送信先として、CodeCommit および GitHub がサポートされています。

        これらの 2 つのオプションのうちいずれかのみ指定することができます:

        • 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 アカウントにアクセスするために使用される個人用アクセストークンです。このトークンには、スコープ repouseradmin:repo_hook を含む必要があります。GitHub からの個人用アクセストークンを取得するには、GitHub ウェブサイトの[Creating a Personal Access Token for the Command Line] (コマンドライン用のパーソナルアクセストークンの作成) を参照してください。

            注記

            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 値は、プロジェクトの作成ステータス (例: CreateInProgress または CreateComplete) を表します。

プロジェクトが作成される間、コマンドライン またはお好みの IDE からプロジェクトリポジトリに‭ ‬[add team members]‭‬ (チームメンバーの追加)、または‭ ‬[configure access]‭‬ (アクセスの設定) を行うことができます。