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 khai và CodeBuild.
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.
-
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.

- 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.

- 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.

- Tại trang Step 3: Name, review, and create.
- Nhập
fcjCodePipelineDeployStageRole
tại Role name.

- Cuộn xuống và nhấp vào nút Create role.

-
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.

- 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.

- 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.

- Tại trang Step 3: Name, review, and create.
- Nhập
fcjCodeBuildRole
tại Role name.

- Cuộn xuống và nhấp vào nút Create role.

Tạo pipeline
-
Mở AWS CodePipeline console.
- Nhấp vào Pipelines trên menu bên trái.
- Nhấp vào nút Create pipeline.

-
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.

-
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.

-
Tại trang Step 3: Add source stage.
- Chọn Gitlab tại Source provider.
- Nhấp vào nút Connect to Gitlab.

- 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.

- Sau khi đăng nhập thành công vào Gitlab, nhấp vào nút Connect.

- 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.

- Cuộn xuống cuối trang và nhấp vào nút Next.

-
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.

- Tại trang Create build project ở tab trình duyệt mới vừa mở.
- Nhập
fcjBookStoreBuildProject
tại Project name.

- 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.

- 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.

- Chọn fcjBookStoreBuildProject tại Project name.
- Để mặc định và nhấp vào nút Next.

-
Tại trang Step 5: Add test stage.
- Nhấp vào nút Skip test stage.

-
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.

- 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_IAM và CAPABILITY_AUTO_EXPAND tại Capabilities - optional.
- Chọn fcjCodePipelineDeployStageRole tại Role name.
- Nhấp vào nút Next.

-
Tại trang Step 7: Review.
- Cuộn xuống và nhấp vào nút Create pipeline.

Kiểm tra pipeline
-
Mở AWS CodePipeline console.
- Nhấp vào Pipelines trên menu bên trái.
- Chọn pipeline fcjBookStorePipeline.

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

-
Tại trang fcjBookStorePipeline - Deploy stage.
- Chọn tab Output và ghi lại ApiUrl.
