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.
- Jenkins + Grunt (AWS Part 1 , Part 2)
- Serverless
- Apex
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.
Uzun süredir farklı sektörlerde (Askeri, Telekomünikasyon, Devlet, Bankacılık, Sigortacılık, Tübitak, SaaS) yazılımlar geliştiriyorum. Bu süreçte Havelsan, Milsoft, T2, Cybersoft ve Thundra firmalarında yönetici ve yazılım mühendisi olarak çalıştım. Deneyimlerimi ve teknolojik bilgi birikimi mi olabildiğince OnurDayibasi.com adresinde toplamaya çalışıyorum. Tüm yazılarıma ve daha fazlasını bu site üzerinden erişebilirsiniz.