---
# System prepended metadata

title: Create a simple pipeline (S3 bucket)
tags: [AWS Automation IAC]

---

# Tạo 1 Code Pipeline đơn giản (S3 bucket)

## Chúng ta sẽ tạo 1 Code Pipeline đơn giản gồm 2 stage sử dụng S3 bucket (Version) và Code Deploy

### Bước 1: Create an S3 bucket for your application 

- Chúng ta sử dụng S3 bucket để lưu trữ các file cũng như các dependencies của web application.
- Ngoài ra, để lưu lại các version, chúng ta sẽ sủ dụng S3 Bucket Version để lưu lại các version.

* Các bước để tạo S3 bucket:
  - 1. Sign in vào AWS management console và mở S3 console.
  - 2. Trong bucket name: Đặt tên cho S3 bucket của mình. Ví dụ: <b>anhnh2210-awscodepipeline-demobucket-example-01112023.</b>
       Trong mục Region, chúng ta sẽ chọn Region, nơi mà server của chúng ta sẽ chạy. Ví dụ: <b>US-EAST-OHIO (2).</b>
  * 3. Tiếp theo chúng ta sẽ tiến hành set up các cấu hình cần thiết cho S3.
       Đầu tiên, trong <b>Properties</b> tab, chúng ta sẽ chọn <b>Versioning</b> do yêu cầu ban đầu là chúng ta sẽ lưu lại các version. Tiếp theo sẽ chọn <b>Enable Versioning</b> -> <b>Save</b>
  * 4. Tiếp theo trong tab <b>Permission</b>, chúng ta sẽ để mọi thứ mặc định.
  * 5. Tiếp theo chúng ta sẽ tải những tài nguyên được set up sẵn. Trong trường hợp này, web app sẽ được chạy trên <b>OS Linux</b>. Link download file: <a href="https://docs.aws.amazon.com/codepipeline/latest/userguide/samples/SampleApp_Linux.zip" target="_blank">Sample_Linux.zip</a>
  * 6. Cuối cùng, trong Amazon S3 Console, chúng ta sẽ upload file <b>zip</b> đã tải lên.

### Bước 2: Create Amazon EC2 Linux instances and install the CodeDeploy agent

- Chúng ta cần 1 nơi để deploy các application của mình. Trong trường hợp này chúng ta sẽ sử dụng Amazon EC2 Linux Instance để deploy. Ngoài ra EC2 này sẽ cho phép cài đặt và quản lý Code Deploy agent của instance. <b>Code Deploy</b> agent cho phép các instance chạy trong CodeDeploy deployments.

* Các bước set up EC2 Linux Instance và cài đặt CodeDeploy agent.
  - <b>Tạo instance role:</b>
    - ![image.png](https://hackmd.io/_uploads/Hywvzpe7p.png)
  * <b>Tạo Launch Instance:</b>
    - ![image.png](https://hackmd.io/_uploads/BJR_G6lXa.png)
    * ![image.png](https://hackmd.io/_uploads/S1nYG6l7p.png)


### Bước 3: Create an application in CodeDeploy

- ![image.png](https://hackmd.io/_uploads/Hkh9Galm6.png)

\* ![image.png](https://hackmd.io/_uploads/Sk5iz6eQT.png)


### Bước 4: Create your first pipeline in CodePipeline

- ![image.png](https://hackmd.io/_uploads/ByK2zpg7a.png)

- ![image.png](https://hackmd.io/_uploads/Hkm6GTe7T.png)


### Bước 5: (Optional) Add another stage to your pipeline

- https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-simple-s3.html#S3-create-deployment

### Bước 6: (Optional) Disable and enable transitions between stages in CodePipeline

- https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-simple-s3.html#S3-create-deployment

### Bước 7: Clean Up Resources

- ![image.png](https://hackmd.io/_uploads/B14RGae7T.png)

