Komut Dosyaları ile Yerel WordPress Site Kurulumunu Otomatikleştirme



WordPress, 2016 Stack Overflow Geliştirici Anketi'nde 50.000'den fazla geliştirici tarafından yakın zamanda en korkulan ikinci teknoloji olarak gösterildi. Bu, kişinin merak etmesine yol açar: WordPress nasıl daha geliştirici dostu olabilir? Geliştiricilerin yaşadığı başlıca acı noktaları nelerdir?

Bu soruların kesinlikle tek bir cevabı olmayacak olsa da, WordPress ile çalışmayı kolaylaştırmak için yapabileceğimiz bazı şeyler var. Bugün WP-CLI, özel kabuk komut dosyaları ve Alfred gibi araçları kullanarak WordPress geliştirmeyi hızlandırmanın yollarını inceleyeceğiz.

Bu kısa eğitim, OS X için yazılmıştır, ancak Linux ve Windows için kolayca uyarlanabilir. Ayrıca, temel bir web sunucusu kurulumunuz olduğunu (MAMP veya XAMPP yapacaktır) ve WP-CLI'nin kurulu olduğunu varsayar. OS X için bir üretkenlik uygulaması olan Alfred de bu makalede yer almaktadır, ancak kapsanan öğelerin çoğunu uygulamak gerekli değildir.

Başlayalım!

Kurmak

Geliştirme komut dosyalarınız için özel bir klasör oluşturmak, yalnızca onları /usr/local/bin/ gibi mevcut bir dizine eklemekten daha temiz olmakla kalmaz, aynı zamanda komut dosyalarınızı birden çok geliştirme ortamıyla paylaşmayı veya eşitlemeyi de kolaylaştırır.

Bunu yapmak için özel komut dosyası klasörünüzü oluşturun:

 mkdir ~/Scripts

Ardından, ~/.bash_profile dosyanızı düzenleyerek ve aşağıdaki satırı ekleyerek klasörü PATH ortamınıza eklemeniz gerekir:

 export PATH=/Users/$USER/Scripts:$PATH

~/.bash_profile kaydettikten sonra, değişikliklerin etkili olması için Terminal oturumunuzu yeniden başlatmanız veya source ~/.bash_profile çalıştırmanız gerekir.

Son olarak, ~/Scripts klasörünüzde aşağıdaki içeriğe sahip config.sh adlı bir dosya oluşturun:

 #! /bin/bash # Path to your custom themes/plugins PROJECT_PATH="/Users/$USER/Projects" # Path to your WordPress installs SITE_PATH="/Users/$USER/Sites" # Path to your custom Scripts folder SCRIPT_PATH="/Users/$USER/Scripts" # Base URL (sites will be setup as subdirectories) BASE_URL="http://localhost" # Database information DB_USER="root" DB_PASS="root" DB_HOST="localhost"

Belirli ortamınızı yansıtmak için yolları ve veritabanı bilgilerini ayarlamanız gerekecek. Ardından, izinleri güncelleyerek yürütülebilir olduğundan emin olmanız gerekir:

 chmod +x ~/Scripts/config.sh

Bu dosyayı yapılandırdıktan sonra, onu oluşturduğunuz diğer komut dosyalarına dahil edebileceksiniz, böylece yapılandırmayı kod çoğaltmadan aralarında paylaşabileceksiniz.

WordPress Yüklemelerini Otomatikleştirme

WordPress'i yüklemek zaten hızlı bir işlemdir. Ünlü “5 dakikalık kurulum” başarısında büyük rol oynamıştır. Ancak WP-CLI ile bu, kolayca 5 saniyenin altına düşürülebilir.

~/Scripts klasörünüzde aşağıdaki içeriklerle install-wp.sh adlı bir dosya oluşturun:

 #! /bin/bash # Includes your config file source config.sh if [ $# -ne 1 ]; then echo $0: usage: Destination Name exit 1 fi DEST=$1 # Create the database. DB_NAME=$(echo $DEST | sed -e 's/-/_/g') echo "Creating database $DB_NAME..." mysql -u$DB_USER -p$DB_PASS -e"CREATE DATABASE $DB_NAME" # Download WP Core. wp core download --path=$SITE_PATH/$DEST # Generate the wp-config.php file wp core config --path=$SITE_PATH/$DEST --dbname=$DB_NAME --dbuser=$DB_USER --dbpass=$DB_PASS --extra-php <<PHP define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', true); define('WP_MEMORY_LIMIT', '256M'); PHP # Install the WordPress database. wp core install --path=$SITE_PATH/$DEST --url=$BASE_URL/$DEST --title=$DEST --admin_user=test --admin_password=test [email protected]

Ardından, izinleri güncelleyerek komut dosyasını yürütülebilir hale getirmeniz gerekir:

 chmod +x ~/Scripts/install-wp.sh

Şimdi Terminal'de aşağıdaki komutu çalıştırdığınızda:

 install-wp.sh "desired-site-name"

Komut dosyası, WordPress'in en son sürümünü otomatik olarak indirmeli ve veritabanını tek bir basit adımda kurmalıdır.

Benim gibiyseniz, birkaç günde bir geliştirme ortamlarını da siliyorsunuz (özellikle yenilerini oluşturmak çok zahmetsiz olduğunda). Neyse ki bu da kolayca otomatikleştirilebilir. ~/Scripts klasörünüzde uninstall-wp.sh adlı bir dosya oluşturun:

 #! /bin/bash # Include the config file source config.sh if [ $# -ne 1 ]; then echo $0: usage: Installation name exit 1 fi DEST=$1 read -p "Are you sure you want to delete the files and DB for '$DEST'?" -n 1 -r echo # Move to new line if [[ $REPLY =~ ^[Yy]$ ]] then echo 'Deleting files...' # Delete files rm -rf $SITE_PATH/$DEST/ # Delete the database. DB_NAME=$(echo $DEST | sed -e 's/-/_/g') echo "Deleting database $DB_NAME..." mysql -u$DB_USER -p$DB_PASS -e"DROP DATABASE $DB_NAME" echo 'WordPress install deleted successfully.' fi

Yine, izinleri güncelleyerek komut dosyasını yürütülebilir hale getirmeniz gerekir:

 chmod +x ~/Scripts/uninstall-wp.sh

Bunu yaptıktan sonra betiği şu şekilde çalıştırabilirsiniz:

 uninstall-wp.sh "wp-install-to-delete"

Bu, gerçekten devam etmek isteyip istemediğinizi onayladıktan sonra yüklemeyle ilişkili tüm dosyaları ve verileri siler (burada geri alma düğmesi yoktur!). Dosyaları silmeyi tercih etmezseniz, komut dosyasını kolayca değiştirerek onları sıkıştırabilir ve bunun yerine arşivleyebilirsiniz.

Alfred ile Birlikte Bağlama

Alfred, basit bir kısayol tuşuyla komutları çalıştırmanıza ve bilgisayarınızda arama yapmanıza izin vererek işleri daha hızlı halletmenize yardımcı olan, OS X için bir üretkenlik uygulamasıdır. Bunu Apple'ın Spotlight aramasına elden geçirilmiş bir alternatif olarak düşünün.

Ücretli Powerpack eklentisiyle, özel kabuk veya Terminal komut dosyaları çalıştıran iş akışları bile oluşturabilirsiniz. Örneğin, bir anahtar kelime girdiğinizde bir kabuk komut dosyası çalıştırabilirsiniz. Bu, Terminal'i sürekli manuel olarak açmaktan çok daha hızlıdır ve otomatik tamamlama dahil olmak üzere başka yararlı özellikler sunar.

alfred-örnek

Alfred'de ~/Scripts klasörünüzdeki komut dosyalarının herhangi birini çalıştırmak için, yukarıdaki GIF'de gösterildiği gibi komut dosyasının adından önce > karakterini eklemeniz yeterlidir.

Alfred'i ortak geliştirme görevlerini bir araya getirmek için de kullanabilirsiniz. Benim favorim, grunt ve grunt watch watch'u hızlı bir şekilde çalıştırmak için özel bir iş akışıdır.

Bunu, "Grunt" adlı boş bir iş akışı oluşturarak ayarlayabilir ve grunt anahtar sözcüğüyle bir anahtar sözcük girişi ekleyebilirsiniz:

Ekran Görüntüsü 2016-03-22 01.15.47 AM

Ardından, aşağıdaki içeriklerle bir “Terminal Komutu” eylemi ekleyin:

 cd ~/Projects/{query} && grunt && grunt watch

Komutun {query} kısmı, Alfred'de komuta sağladığınız argümanla değiştirilecektir.

Son olarak, iş akışını tamamlamak için anahtar kelime girişini Terminal çıkışına bağlayın:
Ekran Görüntüsü 2016-03-22 12.59.51 PM

Şimdi Alfred'i açıp grunt test-project yazarak yeni bir Terminal penceresi açacak, ~/Projects/test-project project dizinine gidecek ve proje dizininde grunt && grunt watch çalıştıracak.

Her Şeyi Otomatikleştirin!

Bu, tipik bir WordPress geliştirme iş akışında neyin otomatikleştirilebileceği ve geliştirilebileceği konusunda yüzeyde bile zar zor çizer, ancak kendi komut dosyalarınızı ve iş akışlarınızı ayarlamak için iyi bir başlangıç ​​noktası olmalıdır. En yaygın görevlerinize göz atmak ve nelerin otomatikleştirilebileceğini görmek için düzenli olarak biraz zaman ayırırsanız, ne kadar zaman kazanabileceğinize şaşıracaksınız.

Hangi geliştirme püf noktaları veya iş akışları size çok zaman kazandırdı? Aşağıdaki yorumlarda bize bildirin.

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

Divi's Theme Builder ile Özel Global Başlık Nasıl Oluşturulur

Artık Tema Oluşturucu burada olduğuna göre, web sitenizi A'dan Z'ye kurmanıza yardımcı olacak yeni eğitimlere dalmak için sabırsızlanıyoruz. Buna Divi'nin yerleşik seçeneğini kullanarak özel başlıklar oluşturma da dahildir. Bu eğitimde Divi's Theme Builder'ı kullanarak global bir başlık oluşturmaya odaklanacağız. Bu sayfaya veya gönderiye farklı bir başlık atamadıysanız, web sitenizin her yerinde genel bir başlık görünecektir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir