AWS Lambda için Continuous Deployment

APIGateway üzerine REST API için yazdığınız Lambda fonkiyonları arttığında bunları el ile AWS Console üzerinden deploy etmek giderek zorlaşmaya başlar. Bunun için Continuous deployment vb araçlara ihtiyaç duyarsınız.

Bunlardan Jenkins + Grunt ile Continues Deployment konusunda Orhan Gürsel bir kaç yazı yazmış aşağıda bunların linklerini paylaşarak konuyu daha net bir şekilde anlatmaya çalışacağım.

Grunt: Node.js tarafında Lambda fonksiyonunuzu local’de çalıştırmanızı, paketlemenizi ve deploy etmenizi sağlayan bir araç.

Jenkins: Stash, GitHub, CodeCommit herhangi bir kaynak kod değiştiği zaman ilgili job çalışarak Grunt’ın çalışmasını sağlayarak Lambda’ların otomatik olarak güncellemesini sağlayacaktır.

Adım 1: AWS CLI Local’inizde veya kurduğunuz EC2 üzerinde düzgün bir şekilde çalışmasını sağlatmanız gerekir.

Adım 2: Local’den Grunt ile Lambda fonksiyonun AWS’ye deploy edilmesi

Adım 3: AWS CodeCommit Repo oluşturumesi ve Local’den SourceTree ile kullanılması

Adım 4: AWS EC2 üzerinde Jenkins, Grunt ve CodeCommit entegrasyonunu nasıl yapıyoruz.

Adım 5 : Tek bir repo’daki bir Node.js sınıfının güncellenmesi sadece kendisi ile ilgili APIGateway deployunü sağlamalı. Bunun için Jenkins üzerinde CodeCommitlerini dinleyen buna göre Lambda deployment’ı yapan script yazıyoruz.