GitHub

GitHub Actions Kullanarak Site Yayınlamak (cPanel)

GitHubcPanelworkflowdeploy
GitHub Actions Kullanarak Site Yayınlamak (cPanel)

Web sitenizi sürekli olarak güncel tutmak, özellikle düzenli olarak değişiklik yaptığınız bir projede önemli bir konudur. cPanel kullanan bir hosting sağlayıcısında web sitenizi GitHub Actions ile otomatik olarak güncelleyebilirsiniz. Bu yazıda, GitHub Actions kullanarak sitenizi nasıl kolayca yayınlayabileceğinizi adım adım anlatacağım.

1. GitHub Deposu Oluşturma

Öncelikle, projenizin kaynak kodlarını içeren bir GitHub deposu oluşturmanız gerekiyor. Eğer zaten bir GitHub depo mevcutsa bu adımı atlayabilirsiniz.

  1. GitHub hesabınıza giriş yapın.
  2. Sağ üst köşedeki "+" simgesine tıklayın ve New repository seçeneğine tıklayın.
  3. Depo adı, açıklama ve gizlilik ayarlarını yapın.
  4. Create repository butonuna tıklayarak depoyu oluşturun.

2. cPanel de FTP Hesabı Oluşturma

cPanel üzerinde FTP hesabı oluşturarak, GitHub Actions ile sitenizin dosyalarını otomatik olarak sunucunuza yükleyebilirsiniz.

  1. cPanel hesabınıza giriş yapın.
  2. FTP Accounts menüsüne gidin.
  3. Yeni bir FTP hesabı oluşturma kısmında yeni ftp hesabınız için için kullanıcı adı, etki alanı ve güçlü bir parola belirleyin.
  4. FTP hesabınızın kök dizinini, sitenizin dosyalarının bulunacağı dizine ayarlayın. (public_html veya domain.com).
  5. FTP hesabınızı oluşturun ve FTP Hesapları listesinde oluşturduğunuz ftp hesabı için FTP İstemcisini Yapılandır seçin.
  6. Açılan detay kısmında FTP Kullanıcı Adı, FTP sunucusu ve FTP & açık FTPS portu bilgilerini göreceksiniz. Bu bilgileri sıradaki adımda kullanacağız.
FTP Hesabı OluşturmaFTP Hesabı Oluşturma

3. GitHub Secrets Ayarları

FTP kullanıcı adınızı parolanızı ve ftp sunucunuzu GitHub Secrets olarak tanımlamanız gerekiyor. Bu işlem, site dosyalarınızın güvenli bir şekilde FTP sunucusuna bağlanmasını sağlar.

  • GitHub reponuza gidin ve Settings > Secrets and variables > Actions yolunu izleyin.
  • New repository secret butonuna tıklayın.
  • Name alanına FTP_USERNAME yazın, FTP kullanıcı adınızı Secret alanına yapıştırın ve Add secret butonuna tıklayın.
  • Aynı şekilde FTP_PASSWORD adında bir secret daha ekleyin ve FTP parolanızı secret alanına yapıştırın.
  • Aynı şekilde FTP_SERVER adında bir secret daha ekleyin ve FTP sunucusunu secret alanına yapıştırın. Eğer bu değeri kullandığınızda deploy sırasında hata alıyorsanız cPanel'e girdiğinizde ki domain alanını deneyebilirsiniz. (örn: cp27.servername.co)
GitHub Actions Secret Keys

4. GitHub Actions Workflow Dosyası Oluşturma

Şimdi, GitHub Actions kullanarak FTP üzerinden cPanel'e dosyalarınızı yükleyecek bir workflow dosyası oluşturacağız.

  • GitHub deposunun kök dizininde .github/workflows adında bir klasör oluşturun.
  • Bu klasör içinde deploy.yml adında bir dosya oluşturun.
  • Aşağıdaki kodu deploy.yml dosyasına yapıştırın:
1
name: Deploy to cPanel
2
3
on:
4
push:
5
branches:
6
- main # veya ana branch neyse onu yazın
7
8
jobs:
9
deploy:
10
runs-on: ubuntu-latest
11
12
steps:
13
- name: Checkout code
14
uses: actions/checkout@v2
15
16
- name: Deploy via FTP
17
uses: SamKirkland/FTP-Deploy-Action@4.1.0
18
with:
19
server: ${{ secrets.FTP_SERVER }} # GitHub Secrets de belirtilen FTP Server adı ile aynı olmalıdır
20
username: ${{ secrets.FTP_USERNAME }} # GitHub Secrets de belirtilen FTP Username adı ile aynı olmalıdır
21
password: ${{ secrets.FTP_PASSWORD }} # GitHub Secrets de belirtilen FTP Password adı ile aynı olmalıdır
22
protocol: ftps # FTP sunucunuzun desteklediği protokolü seçin
23
port: 21 # FTP & açık FTPS portu, gerekirse bu değeri hosting sağlayıcınızın belirttiği doğru port numarasına göre güncelleyin
24
local-dir: ./ # Gönderilecek dosyaların bulunduğu yer
25
server-dir: ./ # FTP hesabının bağlandığı dizin, bunu kendi cPanel dizininize göre güncelleyebilirsiniz (sonunda / ile bitmeli)

4.1. Build Alınıp Deploy Etme

Eğer oluşturduğunuz projenin build alındıktan sonra cPanel'e gönderilmesi gerekiyorsa deploy.yml dosyasında bunu belirtebilirsiniz. Örneğin projenizi React ile geliştirdiyseniz ve projenizi cPanele deploy etmek istiyorsanız projenizin deploy sırasında build alınması gerekmektedir. Bu işlem için deploy.yml dosyanızı aşağıdaki gibi güncelleyebilirsiniz.

1
name: Deploy to cPanel
2
3
on:
4
push:
5
branches:
6
- main # veya ana branch neyse onu yazın
7
8
jobs:
9
build:
10
runs-on: ubuntu-latest
11
12
steps:
13
- name: Checkout code
14
uses: actions/checkout@v2
15
16
- name: Install dependencies
17
run: npm install
18
19
- name: Build project
20
run: npm run build # React projenizin build komutunu çalıştırın
21
22
- name: Deploy via FTP
23
uses: SamKirkland/FTP-Deploy-Action@4.1.0
24
with:
25
server: ${{ secrets.FTP_SERVER }} # GitHub Secrets de belirtilen FTP Server adı ile aynı olmalıdır
26
username: ${{ secrets.FTP_USERNAME }} # GitHub Secrets de belirtilen FTP Username adı ile aynı olmalıdır
27
password: ${{ secrets.FTP_PASSWORD }} # GitHub Secrets de belirtilen FTP Password adı ile aynı olmalıdır
28
protocol: ftps # FTP sunucunuzun desteklediği protokolü seçin
29
port: 21 # FTP & açık FTPS portu, gerekirse bu değeri hosting sağlayıcınızın belirttiği doğru port numarasına göre güncelleyin
30
local-dir: dist/ # React projenizin build çıktısının olduğu dizin (sonunda / ile bitmeli)
31
server-dir: ./ # Projenizi yükleyeceğiniz dizin, bunu kendi cPanel dizininize göre güncelleyin (sonunda / ile bitmeli)

5. Workflow'u Test Etme

Artık her yeni commit ve push işlemi yaptığınızda, GitHub Actions sitenizi otomatik olarak cPanel'deki FTP sunucunuza yükleyecektir. Bunun çalıştığından emin olmak için basit bir test yapabilirsiniz.

  • GitHub deposundaki bir dosyada küçük bir değişiklik yapın (örneğin, index.html dosyasını güncelleyin).
  • Değişiklikleri commit edip push edin.
  • GitHub reponuzda Actions sekmesine giderek işlemin başarılı olup olmadığını kontrol edin.
GitHub Actions Test

Başarılı bir işlemde, sitenizin FTP sunucusundaki dosyaları güncellenmiş olmalıdır.

Sonuç

Bu adımları takip ederek, FTP üzerinden GitHub Actions kullanarak cPanel üzerinde otomatik dağıtım yapabilirsiniz. Bu süreç, manuel güncellemeleri ortadan kaldırarak size zaman kazandırır ve sürekli entegrasyon/deploy süreçlerinizi kolaylaştırır.

Umarım bu yazı, cPanel'de FTP kullanarak GitHub Actions ile sitenizi nasıl yayınlayabileceğinizi anlamanıza yardımcı olmuştur. Sorularınız olursa iletişime geçmekten çekinmeyin!

Bir diğer yazıda görüşmek üzere 👋