0

我试图弄清楚如何使用脚本来自动化这个过程。

我不知道我会使用什么,也不知道该怎么做。我正在寻找正确的方向。

在 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

为了解释发生了什么,我正在推送我的最新提交,SCPing 到 apache 服务器 docroot,部署并使用提交哈希进行备份。

4

2 回答 2

1

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

您可能会发现使用专门协助部署的脚手架更容易。其中一个使用 shell 脚本的漂亮系统(我还没有尝试过)是deliver.

于 2012-08-15T18:12:32.210 回答
1

您正在朝着持续集成迈出第一步。

我使用我设置的Jenkins :

  • git pull 起源大师
  • 运行单元测试
  • 部署代码
  • 运行数据库部署
  • 成功/失败更新票证系统

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

于 2012-08-15T22:13:58.517 回答