Ana içeriğe geç

WordPress Deployments Otomasyonu: Buddy CI/CD ile Tek Komutla Yayınlama

Bu rehberde WordPress dağıtımlarını tamamen otomatik hale getireceksiniz.
Docker, Git ve

oaicite:0
kullanarak hatasız yayın süreci kuracaksınız.

Yerel ortamdan git push dediğiniz anda, tema canlı sunucuya otomatik aktarılacak.


Teknik Özet​

Bu rehber, WordPress tema dağıtımlarını CI/CD ile otomatikleştirmeyi anlatır.
Manuel FTP ve dosya kopyalama süreçlerini tamamen ortadan kaldırır.

Akış şu şekildedir:

  • Docker ile yerel WordPress ortamı kurulur
  • Sage tabanlı özel tema geliştirilir
  • Kod Git deposuna aktarılır
  • Buddy pipeline ile otomatik dağıtım yapılır

Bu Rehberde Ne Öğreneceksiniz?​

  • Docker ile WordPress ortamı kurmayı
  • Sage ile modern WordPress tema geliştirmeyi
  • Git ile sürüm kontrolü sağlamayı
  • Buddy CI/CD ile otomatik deployment yapmayı
  • Tek komutla canlıya çıkmayı

Ön Gereksinimler​

  • Docker ve Docker Compose
  • Git (GitHub veya GitLab hesabı)
  • PHP 7.2+
  • Node.js 14+
  • Composer ve Yarn
  • Çalışan bir WordPress sunucusu (
    oaicite:1
    veya benzeri)

1. Docker ile WordPress Kurulumu​

Önce Docker’ın çalıştığını doğrulayın.

docker info
  • Bu komut Docker servisinin aktif olduğunu kontrol eder.

WordPress imajını indirin.


docker pull wordpress
  • Bu komut en güncel WordPress Docker imajını çeker.

Proje klasörünü oluşturun.


mkdir docker-wordpress-theme && cd docker-wordpress-theme
  • Docker Compose dosyasını oluşturun.


nano docker-compose.yml


version: "3.1"

services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
volumes:
- wordpress:/var/www/html
- ./sage:/var/www/html/wp-content/themes/sage/

db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: "1"
volumes:
- db:/var/lib/mysql

volumes:
wordpress:
db:
  • Bu yapı WordPress ve MySQL servislerini ayağa kaldırır.

2. Sage ile Özel WordPress Tema Oluşturma​

  1. Sage, modern WordPress tema geliştirme altyapısıdır.
  • Build işlemleri sunucuya değil, CI/CD ortamına taşınır.

composer create-project roots/sage
  • Bu komut Sage başlangıç temasını oluşturur.


3. Temayı Derleme ve Çalıştırma​

  1. Sage klasörüne girin.

cd sage

  • Gerekli bağımlılıkları yükleyin.

yarn add node-sass -D

  • Prodüksiyon build alın.

yarn build:production

  • Docker ortamını başlatın.

cd ..
docker-compose up -d

Tarayıcıdan http://localhost:8080 adresine girin.

  • WordPress kurulumunu tamamlayın ve Sage temasını etkinleştirin.

4. Projeyi Git Deposuna Aktarma​

  1. Versiyon kontrolü CI/CD’nin temelidir.

git init

  1. .gitignore dosyasını oluşturun.

nano .gitignore

.cache-loader
composer.phar
dist
node_modules
vendor

  1. Commit ve push işlemini yapın.

git add .
git commit -m "sage theme initial"
git push

5. Buddy ile Otomatik Deployment Kurulumu​

  1. Buddy hesabı oluşturun ve Git deponuzu bağlayın.
  2. Pipeline tetikleyicisini push olarak ayarlayın.

Pipeline adımları:​

  1. PHP Action

  2. Node.js Action

  3. Droplet Action

  4. SSH Action

PHP Adımı​


cd sage
composer validate
composer install
  • Bu adım PHP bağımlılıklarını kurar.

Node.js Adımı​


cd sage
yarn install
yarn build:production
  • Bu adım tema asset’lerini derler.

Sunucuya Yükleme​

Kaynak yol: sage

  • Hedef yol: /var/www/html/wp-content/themes/sage

  • Hariç tutulacaklar:


node_modules/
.cache-loader/

Tema Aktivasyonu


sudo -u www-data -- wp theme activate sage/resources
  • Bu komut temayı otomatik etkinleştirir.

6. Otomatik Dağıtımı Test Etme​

  1. Geliştirme sunucusunu başlatın.

yarn start

  • CSS üzerinde küçük bir değişiklik yapın.

git add .
git commit -m "style update"
git push
  • Push sonrası Buddy pipeline otomatik çalışır.

Canlı site güncellenir.


Sıkça Sorulan Sorular (SSS)​

1. Buddy neden tercih edilmeli? Görsel arayüzü sayesinde DevOps bilgisi gerektirmez.

2. Sunucuda build alınır mı? Hayır. Build tamamen CI/CD ortamında yapılır.

3. FTP tamamen gereksiz mi? Evet. Git ve pipeline her şeyi yönetir.

4. Sadece tema mı dağıtılır? Hayır. Plugin ve özel kodlar da dağıtılabilir.


Sonuç​

Tebrikler! WordPress projeni tam otomatik CI/CD ile yöneten bir yapı kurdun.


Artık:

  1. Tek komutla canlıya çıkarsın
  2. Hata riskini düşürürsün
  3. Daha hızlı geliştirme yaparsın
  • Bu yapıyı yüksek performanslı sunucularda çalıştırmak için Rabisu Bulut altyapısını gönül rahatlığıyla kullanabilirsin