# AWS CodeDeploy | Pipeline | Setup | Deploy application on EC2 using S3 as source

AWS Code Deploy: AWS CodeDeploy is a fully managed deployment service that automates software deployments to a variety of compute services such as Amazon EC2, AWS Fargate, AWS Lambda, and your on-premises servers. CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during application deployment, and handles the complexity of updating your applications.

Centralized control - AWS CodeDeploy allows you to easily launch and track the status of your application deployments through AWS management console

Minimize downtime - AWS CodeDeploy helps maximize your application availability during the software deployment process.

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FKwojoNVlkNGS7USUSPJw%2Fimage.png?alt=media&#x26;token=ec522d48-0493-4d24-b2d1-89441549f856" alt=""><figcaption></figcaption></figure>

Create a S3 Bucket&#x20;

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FvDU1oxGZGOJ7eDqcSqvC%2Fimage.png?alt=media&#x26;token=1ff54283-9abd-4a3f-948d-c82ce7cb88b7" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2F8Efm2ZTiQSvAF0w6MQM8%2Fimage.png?alt=media&#x26;token=8b6c3799-edf4-4dd7-925e-02d14d1097a1" alt=""><figcaption></figcaption></figure>

Create a role

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2Figduq65WxzowOfpqVYbT%2Fimage.png?alt=media&#x26;token=de8652dd-b00f-4840-aa46-c308ebf0ab27" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2F7AcwnwxhlIZVLVt72hrd%2Fimage.png?alt=media&#x26;token=ba5df6ce-603b-4e7a-861e-d129843bc899" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2F2Il1vLguAmPlLhw05Zy6%2Fimage.png?alt=media&#x26;token=1893e555-9406-49d1-8ea3-b93a71dcb50c" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FD7jRBszssLlBBNfnIb4j%2Fimage.png?alt=media&#x26;token=2f5edf8c-ad0f-48b4-9ee0-2987b8effc33" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FfhSgyplP8TGdSvCykBSK%2Fimage.png?alt=media&#x26;token=495d00ff-a0c6-4346-86da-b478f6d856ad" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FdOiIjn6YMVhA05xv2GuX%2Fimage.png?alt=media&#x26;token=31c52627-d2cc-4990-9d42-4cfff9af98ad" alt=""><figcaption></figcaption></figure>

code deploy role&#x20;

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2Fa0a6NGv5ouPs7sy7ARYM%2Fimage.png?alt=media&#x26;token=a0211836-851d-4f37-8f86-acb5a95fc5a8" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FrhksbYq9n1fTkrmVpYWD%2Fimage.png?alt=media&#x26;token=73aa723b-84e4-4fb5-8bdf-990502f95b33" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FRUVlJoKzMSdbv4oA1oGX%2Fimage.png?alt=media&#x26;token=937d26cc-0fe3-48e8-9bef-4b8c9ab73c00" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2F8gk1rJJgJkPfPeOAKGUu%2Fimage.png?alt=media&#x26;token=d7aff0b3-e3ef-4c05-a8ca-394220f4a057" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FT1paeil1r6MRknYLgnEf%2Fimage.png?alt=media&#x26;token=406a64b2-eb13-4d5f-9dd7-0654fbddba38" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FKtXnfwLyNsZOUN1BEdjn%2Fimage.png?alt=media&#x26;token=bfcfd8ba-907e-40b2-ae60-7c9e31cd6841" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2Fl4ihnhba1E6cWR8pEU0V%2Fimage.png?alt=media&#x26;token=0f072cf6-a2a8-45ef-8da0-8d957dd67866" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FWb2ctO96gqsN29RVdwkv%2Fimage.png?alt=media&#x26;token=8141fcb0-c781-467c-8872-5157532514a1" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FrOtBqtvDoQLgHZQ1iEkv%2Fimage.png?alt=media&#x26;token=087f654d-855d-4581-bbe0-031b6e83941f" alt=""><figcaption></figcaption></figure>

```
#!/bin/bash
sudo yum -y update
sudo yum -y install ruby
sudo yum -y install wget
cd /home/ec2-user
wget https://aws-codedeploy-us-east-2.s3.us-east-2.amazonaws.com/latest/install
sudo chmod +x ./install
sudo ./install auto
sudo yum install -y python-pip
sudo pip install awscli
```

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FXpsnUxFOkvTKOyzrHbkI%2Fimage.png?alt=media&#x26;token=1b280926-be6e-411d-82fd-c6b213bfca0c" alt=""><figcaption></figcaption></figure>

Code Deploy -&#x20;

Create a Application

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FcRJHvnvtJu1Xx0o1BNIj%2Fimage.png?alt=media&#x26;token=a9c666c3-10b0-4644-b2bb-15e04272f443" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2F0JpMjf7Q6cSCsGhnjFPY%2Fimage.png?alt=media&#x26;token=46ba239e-315e-454f-b264-227cbfcda3d1" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2F7q1dYOFNxPUqyipVr7A5%2Fimage.png?alt=media&#x26;token=a2ddb7fb-11a1-42d0-9eaa-7eb22cc022bf" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FxOVawnhsHZ0V9aIfbCnN%2Fimage.png?alt=media&#x26;token=8bcd3b21-5823-4fe0-86e9-d40ba362c296" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FAVq1lUff0B6b7H5RUIpl%2Fimage.png?alt=media&#x26;token=b590b411-c0a7-434b-a6a7-02599a9bbff3" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FT6GVlJz3jUmJk41y7JHh%2Fimage.png?alt=media&#x26;token=3c10b418-b852-4f95-86a7-5d581f6fad9d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FLPEGD5VWugb7JJ5U1j1M%2Fimage.png?alt=media&#x26;token=9bf053a4-eb4e-40be-8457-d6369e07074f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2Fnoc7QoI0vv8JJJOUSEbz%2Fimage.png?alt=media&#x26;token=c01e3e88-52b2-481c-b41d-3aa42af60dac" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2F8ZHHaOogH8T9RK2jWX4k%2Fimage.png?alt=media&#x26;token=83a49af7-163c-442b-b6fd-d40f741ef545" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2F3L8aQioING3jReUo70Su%2Fimage.png?alt=media&#x26;token=1a8080f7-3cad-4f70-8bcb-f9f9228769ca" alt=""><figcaption></figcaption></figure>

Application file link  download -

```
curl -O http://s3.amazonaws.com/aws-codedeploy-us-east-1/samples/latest/SampleApp_Linux.zip
```

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FFDWs0CV76BX8RasT5DyM%2Fimage.png?alt=media&#x26;token=68a422ea-0b7a-478a-9018-5eb3e78ccf57" alt=""><figcaption></figcaption></figure>

upload the Application folder on the S3

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2Foqe32IL4mRKQEy0jMgXN%2Fimage.png?alt=media&#x26;token=9a3135a5-4702-40fc-8c44-a84cb855cc6d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FjKiuSHvWK9YduUjwM7D3%2Fimage.png?alt=media&#x26;token=fa4c4909-1b6d-42fc-a2f6-22f8474d57f7" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FLvzvZ4Ale5jsGRko5lGX%2Fimage.png?alt=media&#x26;token=1ea95d3a-d0cc-4a40-b133-a1b3bdf41262" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FDrRWKPFEJ00EKnwgmgvC%2Fimage.png?alt=media&#x26;token=7a6a2748-fba4-4bcb-89d4-4d61d4d1a883" alt=""><figcaption></figcaption></figure>

### Creating a Pipeline&#x20;

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FTkjFfgsmHU9CQPI8OnH7%2Fimage.png?alt=media&#x26;token=360db22e-c0dd-450c-8f13-cf98f3f73b0d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FXQFa7WGmXQzc4FFx6JIF%2Fimage.png?alt=media&#x26;token=0addaf90-a535-4beb-b8f0-d4f6f378909d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2Fbwp38J5IlVi9Mk91JJUa%2Fimage.png?alt=media&#x26;token=74ba78ae-52e9-41fd-9df7-8943734f500e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FlK5wzVWnwrDaYsT8I9pK%2Fimage.png?alt=media&#x26;token=e29adefb-c0dc-431a-b25b-ce70ab774b62" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FjPbQ1xcgVi54WNCCtPr5%2Fimage.png?alt=media&#x26;token=af55f1c1-0afa-4fef-ab29-280e147c8808" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FofBZ0seC202ZnUTvfWVg%2Fimage.png?alt=media&#x26;token=bc88fe8d-608d-44ce-8605-28ff20bb250b" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FM0CuSKr8fWmCJLbiZtrE%2Fimage.png?alt=media&#x26;token=699f1cce-45c4-4e00-b96f-e65dc2eda2ac" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FxmJkkZrUJBdoca0ZnUIP%2Fimage.png?alt=media&#x26;token=72ede72e-b184-4f78-b044-42e0e3cca940" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FR4PaYAz7EUABRsew3gkH%2Fimage.png?alt=media&#x26;token=e788812b-2211-46a0-aa17-8f93998a1d1c" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FESZlLlubWxKoPwSjVMTY%2Fimage.png?alt=media&#x26;token=d1f57db0-c0de-4741-a6eb-c5ae408c4c8e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1048724172-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkKziJagf60nhlsPv1eJ6%2Fuploads%2FsDO2ehM0OdBV2M5aJX7j%2Fimage.png?alt=media&#x26;token=ce29555a-059b-413e-86de-4b9c6a82cf9c" alt=""><figcaption></figcaption></figure>
