Tạo SAM pipeline

Chuẩn bị

Trong bước này, chúng ta sẽ tạo các vai trò IAM cho CodePipeline - Giai đoạn triển khaiCodeBuild.

Cảnh báo Vai trò được cấu hình với bảo mật tối thiểu, chỉ phù hợp cho môi trường workshop.

  1. Tạo vai trò CodePipeline - Giai đoạn triển khai.

    • Mở AWS IAM console, sau đó nhấp vào Roles trên menu bên trái.
    • Nhấp vào nút Create role. CreatePipeline
    • Tại trang Step 1: Select trusted entity.
      • Chọn AWS service tại Trusted entity type.
      • Nhập CloudFormation tại Service or use case và chọn CloudFormation tại Use case.
      • Sau đó nhấp vào nút Next. CreatePipeline
    • Tại trang Step 2: Add permissions.
      • Nhập AdministratorAccess tại hộp Search.
      • Chọn chính sách AdministratorAccess.
      • Sau đó nhấp vào nút Next. CreatePipeline
    • Tại trang Step 3: Name, review, and create.
      • Nhập fcjCodePipelineDeployStageRole tại Role name. CreatePipeline
      • Cuộn xuống và nhấp vào nút Create role. CreatePipeline
  2. Tạo vai trò CodeBuild.

    • Mở AWS IAM console, sau đó nhấp vào Roles trên menu bên trái.
    • Nhấp vào nút Create role. CreatePipeline
    • Tại trang Step 1: Select trusted entity.
      • Chọn AWS service tại Trusted entity type.
      • Nhập CodeBuild tại Service or use case và chọn CodeBuild tại Use case.
      • Sau đó nhấp vào nút Next. CreatePipeline
    • Tại trang Step 2: Add permissions.
      • Nhập AdministratorAccess tại hộp Search.
      • Chọn chính sách AdministratorAccess.
      • Sau đó nhấp vào nút Next. CreatePipeline
    • Tại trang Step 3: Name, review, and create.
      • Nhập fcjCodeBuildRole tại Role name. CreatePipeline
      • Cuộn xuống và nhấp vào nút Create role. CreatePipeline

Tạo pipeline

  1. Mở AWS CodePipeline console.

    • Nhấp vào Pipelines trên menu bên trái.
    • Nhấp vào nút Create pipeline. CreatePipeline
  2. Tại trang Step 1: Choose creation option.

    • Chọn Build custom pipeline tại Creation options.
    • Sau đó nhấp vào nút Next. CreatePipeline
  3. Tại trang Step 2: Choose pipeline settings.

    • Nhập fcjBookStorePipeline tại Pipeline name.
    • Chọn Queued tại Execution mode.
    • Chọn New service role tại Service role.
    • Nhập AWSCodePipelineServiceRole-us-east-1-fcjBookStorePipeline tại Role name.
    • Nhấp vào nút Next. CreatePipeline
  4. Tại trang Step 3: Add source stage.

    • Chọn Gitlab tại Source provider.
    • Nhấp vào nút Connect to Gitlab. CreatePipeline
    • Tại trang Create a connection ở tab trình duyệt mới vừa mở.
      • Nhập fcjBookStoreGitlabConnection tại Connection name.
      • Nhấp vào nút Connect to Gitlab. CreatePipeline
      • Sau khi đăng nhập thành công vào Gitlab, nhấp vào nút Connect. CreatePipeline
    • Kiểm tra xem kết nối Gitlab có thành công không.
    • Nhập fcj-ws/fcj-book-store-backend tại Repository name.
    • Nhập master tại Default branch. CreatePipeline
    • Cuộn xuống cuối trang và nhấp vào nút Next. CreatePipeline
  5. Tại trang Step 4: Add build stage.

    • Chọn Other build providers tại Build provider.
    • Chọn AWS CodeBuild.
    • Nhấp vào nút Create project. CreatePipeline
    • Tại trang Create build project ở tab trình duyệt mới vừa mở.
      • Nhập fcjBookStoreBuildProject tại Project name. CreatePipeline
      • Cuộn xuống, chọn Ubuntu tại Operating system.
      • Chọn Existing service role tại Service role.
      • Chọn fcjCodeBuildRole tại Role ARN. CreatePipeline
      • Cuộn xuống cuối trang, chọn Use a buildspec file tại Build specifications.
      • Nhấp vào nút Continue to CodePipeline. CreatePipeline
    • Chọn fcjBookStoreBuildProject tại Project name.
    • Để mặc định và nhấp vào nút Next. CreatePipeline
  6. Tại trang Step 5: Add test stage.

    • Nhấp vào nút Skip test stage. CreatePipeline
  7. Tại trang Step 6: Add deploy stage.

    • Chọn AWS CloudFormation tại Deploy provider.
    • Chọn BuildArtifact tại Input artifacts.
    • Chọn Create or update a stack tại Action mode.
    • Nhập fcj-book-store tại Stack name. CreatePipeline
    • Cuộn xuống, chọn BuildArtifact tại Artifact name.
    • Nhập packaged.yaml tại File name.
    • Chọn CAPABILITY_IAM, CAPABILITY_NAMED_IAMCAPABILITY_AUTO_EXPAND tại Capabilities - optional.
    • Chọn fcjCodePipelineDeployStageRole tại Role name.
    • Nhấp vào nút Next. CreatePipeline
  8. Tại trang Step 7: Review.

    • Cuộn xuống và nhấp vào nút Create pipeline. CreatePipeline

Kiểm tra pipeline

  1. Mở AWS CodePipeline console.

    • Nhấp vào Pipelines trên menu bên trái.
    • Chọn pipeline fcjBookStorePipeline. CreatePipeline
  2. Tại trang fcjBookStorePipeline.

    • Cuộn xuống cuối trang, nhấp vào nút View details. CreatePipeline
  3. Tại trang fcjBookStorePipeline - Deploy stage.

    • Chọn tab Output và ghi lại ApiUrl. CreatePipeline