Next.js Uygulamalarınızı AWS EC2’ye GitHub Actions ile Otomatikleştirin
Merhaba! Fatih Soysal olarak, bu makalede size Next.js uygulamalarınızın dağıtımını AWS EC2 sunucularına GitHub Actions kullanarak nasıl otomatikleştireceğinizi adım adım göstereceğim. Bu, geliştirme sürecinizi hızlandıracak ve manuel işlemlerden kurtaracak güçlü bir yöntemdir. Öncelikle, neden bu yöntemi tercih etmeliyiz kısaca açıklayalım. Zaman kazandıran bir sistem kurmak için bu rehber tam size göre.
Neden Otomatikleştirilmiş Dağıtım?
Manuel dağıtım işlemleri zaman alıcı, hataya açık ve sıkıcı olabilir. Otomasyon sayesinde, kodunuzda değişiklik yaptığınız anda dağıtım işlemi otomatik olarak başlar. Bu, hızlı geri bildirim döngüsü sağlar ve daha hızlı iterasyon yapmanıza olanak tanır. Ayrıca, insan hatası riskini de en aza indirir. Sonuç olarak, daha verimli ve güvenilir bir geliştirme süreci elde edersiniz. Bu süreç, özellikle ekip çalışması yapılan projelerde oldukça önemlidir.
Gerekli Adımlar
Öncelikle, AWS hesabınızda bir EC2 örneği oluşturmanız gerekmektedir. Bu örnekte, Node.js ve npm’nin kurulu olduğundan emin olmalısınız. Ardından, bir GitHub deposu oluşturun ve Next.js projenizi içe aktarın. Bu işlemler tamamlandıktan sonra, GitHub Actions’ı kullanarak dağıtım iş akışınızı oluşturabilirsiniz. Bu akış, kodunuzda değişiklik yapıldığında tetiklenecek ve otomatik dağıtımı başlatacaktır.
1. SSH Anahtar Çifti Oluşturma
Öncelikle, AWS EC2 örneğinize güvenli bir şekilde erişmek için bir SSH anahtarı çifti oluşturmanız gerekmektedir. Bu anahtar çiftini, GitHub Actions iş akışınızda kullanarak sunucunuza bağlanacaksınız. Güvenliğinizi sağlamak için bu anahtarı güvenli bir yerde saklamanız önemlidir. Detaylı bilgi için AWS dokümantasyonuna göz atabilirsiniz. Bu adım, dağıtımın güvenliğini sağlamak için oldukça önemlidir.
2. GitHub Actions İş Akışı
Şimdi, GitHub Actions iş akışınızı oluşturabilirsiniz. Bu iş akışı, .github/workflows dizininizde bulunan bir YAML dosyası olacaktır. Aşağıda, bir örnek iş akışı bulunmaktadır:
name: Deploy to EC2
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_PRIVATE_KEY }}
script: |
cd /var/www/my-nextjs-app
git pull origin main
npm install
npm run build
npm run start
Bu örnekte, EC2_HOST, EC2_USERNAME ve EC2_PRIVATE_KEY değişkenleri, GitHub Secrets olarak saklanmalıdır. Bu değişkenler, EC2 sunucunuzun IP adresini, kullanıcı adını ve özel SSH anahtarınızı içermelidir. Güvenlik açısından, bu bilgileri doğrudan kodunuza yazmamalısınız. Bu şekilde güvenli bir şekilde anahtarlarınızı yönetebilirsiniz.
3. Dağıtımın Test Edilmesi
İş akışınızı oluşturduktan sonra, küçük bir değişiklik yaparak test etmeniz gerekmektedir. Örneğin, bir dosyaya küçük bir metin ekleyip değişiklikleri GitHub’a push edin. İş akışının başarılı bir şekilde çalıştığını ve uygulamanızın EC2 sunucunuza dağıtıldığını doğrulayın. Bu adım, dağıtım sürecinizin doğru çalıştığından emin olmanızı sağlar.
Sonuç
Bu makalede, GitHub Actions kullanarak Next.js uygulamalarınızı AWS EC2 sunucularına otomatik olarak nasıl dağıtacağınızı öğrendiniz. Bu otomasyon, geliştirme sürecini hızlandırır, hatayı azaltır ve daha verimli bir çalışma sağlar. Umarım bu rehber faydalı olmuştur. Daha fazla bilgi ve kaynak için fatihsoysal.com sitesini ziyaret edebilirsiniz. Ayrıca, burada bulunan orijinal İngilizce makaleye de göz atabilirsiniz.
#Etiketler: Next.js, AWS EC2, GitHub Actions, otomasyon, deployment, dağıtım, sunucu, bulut, CI/CD, SSH, YAML, Node.js, npm
