簡體   English   中英

基於WordPress創建網站的工作流程是什么?

[英]What is your workflow for creating websites based on WordPress?

我開始一個項目,其中2人將在WordPress上開發一個網站。 也可能需要一個開發服務器設置,我的客戶端可以在我們推送它之前查看對站點的更改。 還可能存在數據庫更改(如wordpress設置),應該從開發到開發到生產一直推送。

我想知道最好的工作流程是什么。 我理解一般概念,因為我通常在Rails中開發並因此運行遷移並使用capistrano和git,但我希望WordPress站點具有相同的緊湊工作流程。 有經驗的WordPress開發人員嗎?

更新 :也許我沒有說清楚,但我理解wordpress。 我創建了5-10個wordpress博客和自定義功能。 但是, 我從未在一個擁有多人的wordpress網站上工作,或者不得不處理開發,登台和生產環境。

謝謝!

為了處理這種類型的DEV和PRODUCTION環境,我編寫了一個perl腳本來幫助我完成手動工作。 我已經給出了一些熟悉的名字,所以我記得以正確的順序運行它們。 我只有SVN下的DEV。 我每次使用此腳本創建一個PRODUCTION環境。 這樣我就不必擔心維護2個代碼分支。

我正在使用SVN,所以我選擇了我的DEV代碼的新結帳目錄(如/ tmp / foobar)。 它不會很久。

可選步驟0:diff數據庫結構

mysqldump -d -u USER -pPASS mydotcom > production.sql
mysqldump -d -u USER -pPASS mydotcom_dev > development.sql
vim -d production.sql development.sql

有時插件會添加表格,這會顯示出來。 否則我重播表中所做的更改(安裝插件),因為它不值得區分某些表並復制SQL語句。

步驟1清理:腳本刪除當前目錄中的所有文件,執行DEV分支的新svn簽出。 這個新的結賬將轉換為PRODUCTION代碼並復制到其webroot。

第2步make:perl運行vim搜索並替換wpconfig.php中的數據庫名稱。 搜索和替換在perl中也很容易完成。

system('vim -c "%s/define(\'DB_NAME\', \'mydotcom_dev\'/define(\'DB_NAME\', \'mydotcom\'/g | w | q" wp-config.php'); 

刪除本地文件上傳目錄(因此我們不會覆蓋PRODUCTION文件)。 wpcontent / uploads我相信它是在標准安裝上。

另一個查找和替換項目中具有我的DEV URL的所有文本文件,例如

vim -c "%s/dev\.mydot\.com/www.mydot.com/g | w | q FILENAME.php

第3步安裝。 使用dircopy()備份wpcontent / uploads是安全的。 將此清理目錄的dircopy()執行到PRODUCTION webroot。 刪除webroot中的所有.svn目錄,如下所示:

find /PRODUCTION/WEBROOT -ignore_readdir_race -name .svn -exec rm -fr {} \; >/dev/null 2>&1

現在您的DEV代碼已轉換為您的PRODUCTION代碼,替換所有硬編碼的URL並保持不在SVN中的上傳目錄的安全。 你甚至可以停下來為你啟動apache。 我希望我的解決方案有助於解決您的問題。

工作流程吧? 好吧,我在復雜的WordPress網站上和幾個人一起工作,但仍然如此。 我們大多數時候都使用Subversion和Trac,很少在數據庫中進行一些更改。 只有在設置過程中我猜。

這是腳本:

#!/bin/sh
echo Copying $1 to $2 ...
mysqldump -uroot -pPASSWORD $1 > /tmp/tempdump.sql
mysql -uroot -pPASSWORD -e "CREATE DATABASE $2;"
mysql -uroot -pPASSWORD $2 < /tmp/tempdump.sql
rm -f /tmp/tempdump.sql
echo Complete

這很簡單,我知道,但這就是我喜歡它的方式;)不要忘記用你的密碼替換PASSWORD,並且你不希望用戶root用於這些目的(雖然我並不在乎) ,這就是為什么我這樣做。

例如,將文件保存到copydb.sh ,然后將文件保存到chmod + x copydb.sh,然后就可以運行它: ./copydb.sh database1 database2 ;)

WordPress往往是模塊化的; 我認為源代碼控制將有所幫助,並且可能編寫一個腳本來自動上傳到預覽站點。 您可以保留一個僅由SVN更新的文件夾和一個工作文件夾。

從某種意義上說,WordPress是模塊化的,它可以使用頁面模板和窗口小部件以及插件。 您可以將網站的各個部分編寫為小部件和插件,並將它們組合在一起以使其工作。 對於具有自定義布局或PHP代碼的頁面,您可以使用頁面模板。 你很少需要觸摸WordPress核心文件(任何人都不應該),所以如果你堅持使用WordPress提供的擴展工具,那就沒關系了。

您可能希望嘗試使用角色管理器插件進行權限管理,並使用Turnkey Wordpress在虛擬機中快速安裝wp。 但是,對於可能具有git-like角色的東西,我不知道。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM