AWS CodePipeline là một dịch vụ sử dụng để phân phối liên tục (CD) giúp tự động hóa việc build, test, triển khai ứng dụng mỗi khi code có sự thay đổi, chúng ta có thể tích hợp với các source control hay dùng như: github, bitbucket ...
CodePipeline sẽ làm việc theo flow sau:
Chúng ta đã Deploy Laravel project to AWS ECS Fargate bằng cách build thủ công. Hôm nay chúng ta sẽ sử dụng CodePipeline tự động deploy dự án laravel lên ECS fargate. Tạo codePipeline
Chọn source control, mình chọn github version 2, connect với tài khoản github và chọn repo dự án bạn muốn deploy
Chọn stage build, aws hỗ trợ 2 loại build là jenkin và codeBuild. Bài viết này mình chọn codeBuild để build và push code lên AWS ECR. Các bước thiết lập codeBuild bạn xem lại bài viết: Hướng dẫn AWS CodeBuild, build image tự động cho ECR.
Tiếp theo chúng ta thiết lập deploy stage. Trong bài viết này chúng ta deploy code laravel lên ECS lên mình chọn deploy provider là amazon ECS, thiết lập các thông số của ecs: cluster, service, Image definitions file là artifacts file tạo ra ở bước build code với CodeBuild imagedefinitions.json.
Tiếp theo chúng ta sẽ review lại các tạo CodePipeline rồi nhấn nút tạo codepipeline thế là xong.
Giờ là lúc kiểm tra xem CodePipeline có hoạt đông không nhé? chúng ta sẽ merge code vào nhánh master, khi code được merge CodePipeline sẽ nhận được trigger tự động lấy code từ master, build code với codeBuild và deploy lên ECS.
Như vậy là chúng ta đã build và deploy thành công dự án lên ECS. Kiểm tra CodeBuild và ECS.
Như vậy là toàn bộ quá trình deploy đã thành công và thành quả của chúng ta là.
Chúng ta đã thiết lập xong tự động deploy code lên AWS ECS mỗi khi code master thay đổi, sử dụng CodePipeline. Chúc các bạn deploy thành công. Thanks for reading...