1.新建流水线(https://flow.aliyun.com/),选择php,如下图
2选择流水线源,这里支持的源有很多,我这里使用的码云
3.删除测试流程
4.修改构建,我的这个php的项目没有用的composer安装依赖,所以构建的时候直接选择指定的目录打包,然后上传到制品仓的,打包路径可以写多个。根据自己的需要。
5.主机部署,这个时候需要新建主机,然后在主机上面安装一个代理。制品仓的制品会直接下载到生产服务器的某个目录下面的文件。接下来就是需要我们填写使用哪个服务器的账号来写部署脚本来发布了。
我这里使用的是root用户,部署脚本是把制品解压到web站点的根目录,然后把文件的拥有者改成WWW用户,这样权限问题也就解决了。
# 部署脚本会在部署组的每台机器上执行。一个典型脚本逻辑如下:先将制品包(在下载路径中配置的下载路径)解压缩到指定目录中,再执行启动脚本(通常在代码中维护,如示例中deploy.sh)。关于这个例子的详细解释见 https://help.aliyun.com/document_detail/153848.html \n\n # tar zxvf /home/admin/app/package.tgz -C /home/admin/app/\n # sh /home/admin/app/deploy.sh restart\n # 如果你是php之类的无需制品包的制品方式,可以使用git clone 或者 git pull将源代码更新到服务器,再执行其他命令 \n # git clone ***@***.git\n
tar zxvf /home/admin/app/package.tgz -C /www/wwwroot/wd-v3.quanmindian.com
chown -R www /www/wwwroot/wd-v3.quanmindian.com
6.在主机部署的时候我还添加了一个邮件通知的插件,运行成功或者失败的时候邮件通知到我结果下。
7.部署脚本我之所以没有删除站点目录全部文件,然后在解压是因为我的项目下面有日志文件夹如果全部删除的话之前的日志就不见了。所以我这里是覆盖,覆盖当然也存在覆盖的问题,就是删除的文件不会消失。