GitHub Actions, projelerinizi otomatikleştirmek için güçlü bir yoldur. Bu rehberde, GitHub Actions kullanarak basit bir Node.js uygulamasını AWS Lambda'ya nasıl dağıtacağınızı göstereceğiz.

AWS Lambda Fonksiyonu Oluşturma

İlk olarak, AWS Yönetim Konsolu'na gidin ve Lambda hizmetine gidin. Yeni bir fonksiyon oluşturun, adını ve işlevselliğini belirtin. Ardından, fonksiyon için bir IAM rolü oluşturun, Lambda fonksiyon erişimi için gerekli izinleri içerdiğinden emin olun.

GitHub Actions YAML Dosyası

Proje dizininizde bir .github/workflows klasörü oluşturun ve aşağıdaki gibi bir YAML dosyası ekleyin:

name: deploy to lambda
on:
  push
jobs:
  deploy_lambda:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-node@v2
      with:
        node-version: '16'
    - name: aws configure
      uses: aws-actions/configure-aws-credentials@v1
      with:
        aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
        aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
        aws-region: us-east-1
    - name: npm install
      run: |
        npm i -g bestzip
        npm i
    - name: deploy
      run: |
        bestzip bundle.zip *
        aws lambda update-function-code --function-name=my-lambda-function --zip-file=fileb://bundle.zip

Bu YAML dosyası, ana dalda her push işleminde çalışacak ve Node.js projesini AWS Lambda'ya dağıtmak için gerekli adımları içerecektir.

GitHub Secrets Yapılandırması

GitHub deponuzdaki Settings sekmesine gidin, ardından Secrets bölümüne gidin. AWS Lambda erişim anahtarlarını tanımlayarak yeni bir secret ekleyin:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

Artık her push işleminde, GitHub Actions Node.js uygulamanızı otomatik olarak AWS Lambda'ya dağıtacaktır. Bu adımları takip ederek süreci kolaylaştırabilir ve uygulamanızı kolayca yönetebilirsiniz.