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 🔥