鍍金池/ 問(wèn)答/PHP  Linux/ 如何將PHP程序增量部署到服務(wù)器上?

如何將PHP程序增量部署到服務(wù)器上?

PHP項(xiàng)目每次修改完BUG或者增加新功能以后,如何部署到服務(wù)器上?

目前使用的辦法是SVN,團(tuán)隊(duì)開發(fā)也是使用的SVN,給線上服務(wù)器分配一個(gè)專用SVN賬號(hào)。需要更新的時(shí)候直接用SVN就可以了。但是SVN的權(quán)限控制不夠靈活,如果想設(shè)置某個(gè)賬號(hào)只對(duì)某個(gè)文件夾有讀操作,其他文件夾不給訪問(wèn),需要將其他所有文件夾的該賬號(hào)權(quán)限都去除。

不知道有沒有其他更好的方案可以實(shí)現(xiàn)類似功能,可以一鍵增量部署到線上?

回答
編輯回答
念初

svn 有hooks post-commit 可以檢測(cè)到代碼提交。并執(zhí)行相關(guān)腳本。
你可以在post-commit 中配置執(zhí)行拉取代碼到服務(wù)器環(huán)境。

2018年7月10日 13:44
編輯回答
殘淚

可以了解一下 CI/CD 工具。
比如:Jenkins

可以使用 Jenkins 配合 Git 使用。

2018年2月9日 18:54
編輯回答
夏夕

在下菜鳥一枚,不過(guò)這個(gè)問(wèn)題我可以回答你一下。
推薦你使用git。
使用git自帶的hook機(jī)制,可以在給代碼打上標(biāo)簽或者提交代碼的時(shí)候自動(dòng)將代碼部署到線上。

但是SVN的權(quán)限控制不夠靈活,如果想設(shè)置某個(gè)賬號(hào)只對(duì)某個(gè)文件夾有讀操作,其他文件夾不給訪問(wèn),需要將其他所有文件夾的該賬號(hào)權(quán)限都去除。

不知道你說(shuō)的意思是不是:不對(duì)某個(gè)文件夾提交。例如說(shuō)數(shù)據(jù)庫(kù)配置文件。
git自帶的.gitignore文件,在里面填寫規(guī)則就可以對(duì)某些文件忽略。在提交代碼的時(shí)候會(huì)忽略掉.gitignore里的指定的文件。

補(bǔ)充一點(diǎn):如果是PHP項(xiàng)目,推薦你使用phpstorm IDE。然后服務(wù)器上面git的管理面板可以使用gitlab。
之前待的公司,就是每天更新的代碼git提交。然后每天下午打上標(biāo)簽之后,代碼就自動(dòng)部署到線上了。非常方便。
而且git可以通過(guò)標(biāo)簽對(duì)代碼版本進(jìn)行回滾。很方便。

希望對(duì)你有幫助。

2017年11月3日 20:42
編輯回答
毀了心

首推git,如果為簡(jiǎn)單的話,使用rsync也行

2017年6月7日 01:54