使用shell脚本自动执行git提交和ssh apache服务器部署?

时间:2012-08-15 18:01:47

标签: git apache shell ssh

我正在试图弄清楚如何使用脚本自动执行此过程。

我不知道我会使用什么,或者如何去做。我希望能指出正确的方向。

在git中:

git commit -am "my commit"
git pull origin my_branch
git push origin my_branch
git archive --format zip --output /c/git/(environment)_(date)_(commithash).zip my_branch
scp (environment)_(date)_(hash).zip root@12.3.4.56:/var/www/html-(domain)
password123

在apache中(通常我是腻子......)

root
password123
cd /var/www/html-(domain)/(environment)
unzip ../(environment)_(date)_(commithash).zip
n
n
A
cd ..
cp -pr (environment) (environment)_(date)_(commithash)
exit

为了解释最新进展,我正在推动我的最新提交,SCP到apache服务器docroot,部署和使用提交哈希进行备份。

2 个答案:

答案 0 :(得分:1)

您可以按计划使用shell脚本 - 只需在文件中保存要运行的命令(每行一个),在顶部添加#!/bin/bash,使其{{1}可执行(不需要chmod +x myscript.sh文件扩展名),然后使用.sh运行它。

您可能会发现使用特别有助于部署的脚手架更容易。使用shell脚本的这些系统(我还没有尝试过)看起来很漂亮deliver

答案 1 :(得分:1)

您迈出了Continuous Integration的第一步。

我使用我设置的Jenkins

  • git pull origin master
  • 运行单元测试
  • 部署代码
  • 运行db deployments
  • 更新票证系统成功/失败

还有许多扩展和工具,适用于任何语言等。