- Created a codecommit repository .
![create repo on code commit](https://private-user-images.githubusercontent.com/102309095/295930263-1c725198-7b06-4f14-9df9-a13211ec2770.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk1OTMwMjYzLTFjNzI1MTk4LTdiMDYtNGYxNC05ZGY5LWExMzIxMWVjMjc3MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hMzJjMzUyZmFiNGVkYWI5YWZjNGVmOTMwYWQyNjM3OTgwYTQzZTcwNWUxNTJiMWVmZDU1MzczOWNiZDRjYzUyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Zj2Mlrizl6WoHyAZToNKNrYM9MvAi7irDDd9AWN8jN8)
![copy the repo url](https://private-user-images.githubusercontent.com/102309095/295931981-eaa10e31-4395-4585-b46e-aa2e87d4e193.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk1OTMxOTgxLWVhYTEwZTMxLTQzOTUtNDU4NS1iNDZlLWFhMmU4N2Q0ZTE5My5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04NzgyZDdkZTk1NzdjMjRmZTI0NTdjNmRlN2M3NjhkZmM5MTU5MTRiMzYzY2FmYjg4YTFjYTRmNzg3YTQyMTE1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.Pj-XeKGHjocED-W_mTcCwT_bfsEj9OH84qRIu7TfYko)
![now try to git clone at local with copied url but a git credential it will ask](https://private-user-images.githubusercontent.com/102309095/295932514-030dda62-b244-4b39-85d4-b36445b6d8dd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk1OTMyNTE0LTAzMGRkYTYyLWIyNDQtNGIzOS04NWQ0LWIzNjQ0NWI2ZDhkZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lZThmNjhhOGVkMDFmMDAzYTY5ZWE5YTI3NmQwOGZiYjQ4NzNmMTczNzA3NTgxNTdhYTM3N2E2NWMzNDE1NThiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.aYdSmyFjknyM2kWcZ9do_RKBH2AtWe6J-LIt92KIKSw)
![create git credentials](https://private-user-images.githubusercontent.com/102309095/295936236-1ecde127-911a-45e3-8c6f-8bcc2b020acd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk1OTM2MjM2LTFlY2RlMTI3LTkxMWEtNDVlMy04YzZmLThiY2MyYjAyMGFjZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iZTM3MmNmZWMwYTVjNDMxY2U5Mzg0MzcwZjE2NmY5ZWQ2NjUxZDZmZTcxMjI4ZWFmNDRiN2E3Mzg3NzM2MjVkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.bO55onZBJW86jVW9jJ2bF_Gc4HArJi537oumdv1P5Vo)
- After entering git credentials , i successfully cloned the repository .
![git credentials](https://private-user-images.githubusercontent.com/102309095/295936278-ad615208-a15f-44ea-81ef-60746100a75b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk1OTM2Mjc4LWFkNjE1MjA4LWExNWYtNDRlYS04MWVmLTYwNzQ2MTAwYTc1Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xMGI0YzlmYjNlMTA2ZjBiYjUwNjhlN2JmNGQyNDgwMWNmY2E5YmVjNjUxNDYyNjYwYzI1YWNhM2Y4MmU4ZDRmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.XSJ0xkbcln6W9cPdVh_RvmbOAlWodkDls2tjNQ9de3o)
- Created a index.html file and pushed the ffile into codecommit repository .
![created and pushed the index html to the repo](https://private-user-images.githubusercontent.com/102309095/295936316-9aeb67c3-448d-429c-a40a-6ca5ff856119.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk1OTM2MzE2LTlhZWI2N2MzLTQ0OGQtNDI5Yy1hNDBhLTZjYTVmZjg1NjExOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01ZWIwZDhiMjg5NWE2ZWNmYWRmMGU2YThkM2I5NTIxYjhiYmIxMzYxN2M4NTMxNmI0MWIzOGYwYWVjODJlZGEyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.y_L8knPr7a1oqBeqAFLhDfSuwqZ38N_S_eD_n8h8-GM)
- CodeBuild stage needs a buildspec.yml file . So created a buildspec.yml file and pushed it to codecommit repo .
![add buildspec yml to repo as it is needed during code build](https://private-user-images.githubusercontent.com/102309095/296082129-1d8f02bf-8bcf-411a-9a05-78030850f754.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDgyMTI5LTFkOGYwMmJmLThiY2YtNDExYS05YTA1LTc4MDMwODUwZjc1NC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00MThhZGE4MmQzY2MwYTZjMzM4MzViNmE3MmVjMGNiZmFhY2IxZDQyNTEzODU5ZTRkNWIwZWI5ZDM2M2FiM2UyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.pVWWb3lBPTp7oJ36j5t4iTZo7hGaLEqBxMIN7jqno5U)
version : 0.2
phases:
install:
commands:
- echo Start with NGINX install
- sudo apt-get update
- sudo apt-get install nginx -y
build:
commands:
- echo Building...
- cp index.html /var/www/html/
artifacts:
files:
- /var/www/html/index.html
- Then created a build .
codebuild.1.mp4
10 . After this i have to store artifacts , so i created a s3 bucket . Then attached the artifacts to the codebuild stage .
![Screenshot 2024-01-11 153949](https://private-user-images.githubusercontent.com/102309095/296083117-a9bc3371-450a-43ab-af86-ce150ca218ad.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDgzMTE3LWE5YmMzMzcxLTQ1MGEtNDNhYi1hZjg2LWNlMTUwY2EyMThhZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04ZWUyNjNiNjA0ZjBiZmU0ZTVmMGYxMmIwODlhODM4MzY0YzlmYTIzYTMzYjNlMWVjNWJhNDRlZTBkMGJjMGE2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9._J2s2ptR0Ctd80QQNlZhZJ9vb7ZMFGQ3tded0D-7d4s)
![mention folder name](https://private-user-images.githubusercontent.com/102309095/296083171-1ef52a09-3dae-4630-983a-8d9f44895e06.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDgzMTcxLTFlZjUyYTA5LTNkYWUtNDYzMC05ODNhLThkOWY0NDg5NWUwNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01N2Y1ZjQwMzE0ZTg1ZDY4YjJiMzRjOWZkM2QxNjQ4YzExOTU1OTAyMzU1YmVmOTM5MzNiNjY5MmJlODAwNmQ0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9._JVlbuX9ore7L_nCIPCnPDs1AaExJ-YAqqLc7gIRc5Q)
- Then started building .
![build successful](https://private-user-images.githubusercontent.com/102309095/296083228-9c2e6b16-e53b-4837-b7b9-a2d9442048c0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDgzMjI4LTljMmU2YjE2LWU1M2ItNDgzNy1iN2I5LWEyZDk0NDIwNDhjMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iNzc1NDgxZGEwNDUzNGM1Yjg5OTZmNjY2MTAxZjBlOWEzMWRjOWE3M2M2ODc4ZTU2YzU3NWI1NTlmYTg2MzZkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.EJ11SDgrBvB7GjF3470CwZl0ezekZc34qb_Cf-4XXTg)
- Created an application on CodeDeploy
![create application](https://private-user-images.githubusercontent.com/102309095/296083594-b116e13f-4bda-47b3-8d6e-245b102d72b1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDgzNTk0LWIxMTZlMTNmLTRiZGEtNDdiMy04ZDZlLTI0NWIxMDJkNzJiMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mMzczYzVhMzc0MjBhOGJhYmVkZTQxNGZkMzQ2MTRmMmFmNGE4YmM4YjNjYWMwZjc2MmM1MjYwM2E1ZmVkZjJmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.3-UcNRX4VmWGjSjW2hhCQXuIHWnFR4TujZTEN_XDwH0)
- Created an EC2 insatnce with ssh,http,https added in security group . As the ec2 insatnce needs to interact with s3 bucket , codedeploy , ec2 ,so attached the policies .
![ec2 policy](https://private-user-images.githubusercontent.com/102309095/296084764-1c5c5aaa-941e-4cbf-9fe6-3ad9a46d8ae8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDg0NzY0LTFjNWM1YWFhLTk0MWUtNGNiZi05ZmU2LTNhZDlhNDZkOGFlOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05MGRmYjBlZjM0ZjAzNjcxZjIyOWI0ZjEzNDdmNmQ5NjBjZjEwODJhZGRlZTM0YmYyZDllZWVlNTViNjczYTI4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.MribGCcwilfiZZouOR5dBdp7JyQfOjoHBBqLXQN32zY)
create.deployment.group.1.mp4
- Then connected the ec2 instance to create codedeploy agent .
#!/bin/bash
# This installs the CodeDeploy agent and its prerequisites on Ubuntu 22.04.
sudo apt-get update
sudo apt-get install ruby-full ruby-webrick wget -y
cd /tmp
wget https://aws-codedeploy-us-east-1.s3.us-east-1.amazonaws.com/releases/codedeploy-agent_1.3.2-1902_all.deb
mkdir codedeploy-agent_1.3.2-1902_ubuntu22
dpkg-deb -R codedeploy-agent_1.3.2-1902_all.deb codedeploy-agent_1.3.2-1902_ubuntu22
sed 's/Depends:.*/Depends:ruby3.0/' -i ./codedeploy-agent_1.3.2-1902_ubuntu22/DEBIAN/control
dpkg-deb -b codedeploy-agent_1.3.2-1902_ubuntu22/
sudo dpkg -i codedeploy-agent_1.3.2-1902_ubuntu22.deb
systemctl list-units --type=service | grep codedeploy
sudo service codedeploy-agent status
![codedeploy running](https://private-user-images.githubusercontent.com/102309095/296090226-83fedfe1-1a8f-4930-8f21-b9b7c1f0f7a9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDkwMjI2LTgzZmVkZmUxLTFhOGYtNDkzMC04ZjIxLWI5YjdjMWYwZjdhOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05MDI3MjBiMTUyOTA4MGVkZDNmM2MwNTcxYmY1NjkzYjg0ZTRlMGZiZGIwOTZkODcwZGE0N2RhYmY0MzE3MjNhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.E0knn_XtXEOnMTHQ4jg69zho07ET-j5YzBd2hpKeQ5g)
- Like CodeBuild stage , CodeDeploy also needs a appspec.yml for configuration and in buildspec.yml changed the artifacts files . After making all these changes then pushed the code to the codecoommit repository .
appspec.yml
version: 0.0
os: linux
files:
- source: /
destination: /var/www/html
hooks:
AfterInstall:
- location: scripts/install_nginx_service.sh
timeout: 300
runas: root
ApplicationStart:
- location: scripts/start_nginx_service.sh
timeout: 300
runas: root
install_nginx_service.sh
#!/bin/bash
sudo apt-get update
sudo apt-get install -y nginx
start_nginx_service.sh
#!/bin/bash
sudo service nginx start
![added appspec yml](https://private-user-images.githubusercontent.com/102309095/296090926-f9f9bc0d-55cc-4f75-8406-b7deaa7e79c8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDkwOTI2LWY5ZjliYzBkLTU1Y2MtNGY3NS04NDA2LWI3ZGVhYTdlNzljOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03NjQ2OGNkMzJhODU2MTc5NzkxOGQyMDVlNjY0NDBmNTllNTNjYTMyNWFmMzM1MDM5NzAzNzllZDEwZjI4NDZhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.dEZbokCK3ebv9k6uQZUuxmOFB7OpFqqjiQNu_kUzbxM)
- Then created a deployment using revise location as s3 bucket's URL .
![Screenshot 2024-01-11 165954](https://private-user-images.githubusercontent.com/102309095/296091422-5854abe5-a571-41f9-970c-3dabf590a9b5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDkxNDIyLTU4NTRhYmU1LWE1NzEtNDFmOS05NzBjLTNkYWJmNTkwYTliNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00MzFmM2I1ZGVhNjQ0MDMzYTRmNWQzNzUxOThhOGQ3MzNmYWYyOGRiNjI2YWE0ZTJlOGNlMmM3MjBkYjhhZjNlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.MuYEDLD0fDx6KDTZRTqgbbMW0Otp8aPJOZ4RRPo3OXI)
- After this i have checked whether all the files present in CodeCommit repo or not . Then again started the code build stage . Then started the deployment .
![deployment suceeded](https://private-user-images.githubusercontent.com/102309095/296091531-647cdc94-ee0b-41b9-af8c-b65b26ba81b8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDkxNTMxLTY0N2NkYzk0LWVlMGItNDFiOS1hZjhjLWI2NWIyNmJhODFiOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02ZmU4MmVlMWI4MzdkZDA4YTg2OGNiZWZhMGVhMWQwMjEzZmM5MDk0NzhmN2Q5NGYyNzFhMmNmZWUyYTllZjcyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.YlRSUQf_ynZHEUFez3O7XWKU9XNtF-Qe_uXuLHUy13Y)
- After successful deployment then accessed the Public IP of ec2 instance to access the webpage .
![after deployment succefully accessed](https://private-user-images.githubusercontent.com/102309095/296091927-7242e58c-1eb3-480d-bd1f-32871433845f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDkxOTI3LTcyNDJlNThjLTFlYjMtNDgwZC1iZDFmLTMyODcxNDMzODQ1Zi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jN2RlNTVjZmFmMTk0YWQ3ZjIzODY1ZDFkNmJmZmZiNTU3ZGMwN2QyODE3NWZlMmE5OGRlY2JlZjM4MDFjOWNkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.GTYd1n61YhAKvxqcG-Cu3ToKUgv_JX_Mcq2Gv4t2rvk)
- Created a pipeline
![create pipeline](https://private-user-images.githubusercontent.com/102309095/296092047-6c22540e-84a9-4844-9201-1d9dfdd3de70.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDkyMDQ3LTZjMjI1NDBlLTg0YTktNDg0NC05MjAxLTFkOWRmZGQzZGU3MC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jNTIxNDBjODVjZGI1ZDNmM2FhYTk5YzJlNDQ2NjI4YmY1MmYyMmNjNzIwOTMwNTFkNzE5MjAwYzgxZjViOTVmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.fMONSxchEDgse9eIX-QMNVEDQTwqEXcXCXNy3V3FmVc)
- Added the code source and choosed "AWS CodePipeline" in "change detection option" to
![code source provider](https://private-user-images.githubusercontent.com/102309095/296092112-e0707c41-fcd9-495d-b362-bb5190f7690c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDkyMTEyLWUwNzA3YzQxLWZjZDktNDk1ZC1iMzYyLWJiNTE5MGY3NjkwYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xOGNiZjliYzRkMjRiOTllZmY5MGEwMTlmZDRhMDNmODcyMDEwNWI5MjE0M2IyZTRlZmQwZDNjMTk5OWU2MjczJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.jcD33FHaYZ47TsvO5SR7eaPgoeQbjJixSbI8epcJB8o)
23.Here mentioned the build provider and project name .
![build](https://private-user-images.githubusercontent.com/102309095/296092144-13a22b25-0a03-4c1b-9ca7-fa73e6677a03.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDkyMTQ0LTEzYTIyYjI1LTBhMDMtNGMxYi05Y2E3LWZhNzNlNjY3N2EwMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05ZjQxMGJmZGExYTRiMTMxOGE5YmFkOGQ3YjliNGE3ZGExNWMzMzlkMGM4YzNiYWVjNTNkMjc3NzRlNzE1ZWUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.7FPF18f-IKXNgXCgFQjOk6mvRPL7Ez5zLB8ZjA-mw9I)
- Now mentioned the AWS CodeDeploy as deploy provider and also give the application name .
![deployment](https://private-user-images.githubusercontent.com/102309095/296092182-6015e895-758c-4a11-ac34-1894d3a1e6a0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDkyMTgyLTYwMTVlODk1LTc1OGMtNGExMS1hYzM0LTE4OTRkM2ExZTZhMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jNTk1MzNiN2M4MGZjMmFjN2U5ZGVlNTMwZTkyMjJmY2FmZTM1MjUxNTI5OWZhODgxMzIxMTcwZWFiOTQ3OWM1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.hWsyarcJzo0U1q-CbLxHSOW44O6yEU6Cpq4ipQbEuS4)
- Now after all these configuartion , here i started the AWS CodePipeline . And all the stages are successfully executed.
![pipeline succeded](https://private-user-images.githubusercontent.com/102309095/296092251-fc83c483-1252-4f3b-a65f-6c5f5b85ef9a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDkyMjUxLWZjODNjNDgzLTEyNTItNGYzYi1hNjVmLTZjNWY1Yjg1ZWY5YS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wZmUwNWYzMDBhNGQwMzJkMzJjZTIzOTYxNDEzNzgyZTk1MGI5YTE0ZDkyNTEyMzgyYWU1NmEwMzg2ZDdkODM0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.8wYDO3zdyhd66lhl0sIDjzMPpVLDnAxPFPtlahciNtE)
- Then accessed webpage using public ip of ec2 instance .
![after deployment succefully accessed](https://private-user-images.githubusercontent.com/102309095/296092280-349b269f-a8bb-45bf-ad0d-58416e92dde9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDkyMjgwLTM0OWIyNjlmLWE4YmItNDViZi1hZDBkLTU4NDE2ZTkyZGRlOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yNDdiNDg4OWQwYTk1YjE5OGNiZjg3YTllMGU4OTkxYmM3NzMxODk5Mjk0Y2UzYzJmYmQ2ZmNkOTk2NzQ3ZWQ0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.d9XPU28RkKco1hso9prg9HIl6Clpj3Sq8H4gpDy_7sE)
- Then made some changes in the index.html and pushed the changes into codecommit repo .
![index html file code is updated](https://private-user-images.githubusercontent.com/102309095/296094179-5c008eb2-f874-4fef-b73c-c59992e0f845.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDk0MTc5LTVjMDA4ZWIyLWY4NzQtNGZlZi1iNzNjLWM1OTk5MmUwZjg0NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xYjNjOWZlMThmOGVkZTM4OTNmOGNjOGFkNzc5ZTdmYWRiMDY2NTg3M2UzMGZhMWUwNTBlNTAwOGFjYmViZjk2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.T4Dz3Uu0abxFjuxvOyMmkDJFRpo6SlyDPxX91L4tbbM)
- Then pipeline is automatically started .
![look here the message also updated](https://private-user-images.githubusercontent.com/102309095/296094376-f8a669a9-e430-4f90-a574-649aad5fad0b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4ODM4NjAsIm5iZiI6MTczODg4MzU2MCwicGF0aCI6Ii8xMDIzMDkwOTUvMjk2MDk0Mzc2LWY4YTY2OWE5LWU0MzAtNGY5MC1hNTc0LTY0OWFhZDVmYWQwYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQyMzEyNDBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zNWQwN2ZkNTQxNjAyZWIwYTM2ZGQxNWY1NDY3MmViOWM3NDlhMzM3ZTBkYWI0MTgzYmM5ZmEwYjk5YjRjZjI0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.RejF557hYxvngrdBAyf1sINcgOGx7H8Y8hOuiF8GSCA)
- Then accessed the updated webpage from the public IP of ec2 instance .