Osheep

时光不回头,当下最重要。

项目自动部署平台搭建

传统的线上部署方式是通过ftp手动部署项目,一个项目还好,当项目多或者项目不停的版本迭代的时候,这种方式就显的很繁琐,于是需要寻求一种更加智能的方式来部署线上项目,很多公司内部都是自己开发,原理都大同小异,通过脚本+shell命令方式部署,本文主要介绍利用开源的系统walle进行服务器搭建的过程。

官网文档:https://www.walle-web.io/docs/

下面介绍基于centos 7+lamp进行环境搭建的过程,lamp环境安装请自行百度,建议通过源码安装,阿里云有提供一键安装脚本,不过软件不是最新的。

一、安装walle

具体安装方法请按照官方文档。我是安装在内网的centos 7环境;

二、配置ssh-key

该步骤其实是建立免密码登录远程服务器,walle一般是通过php-fpm的用户进行操作,通常为www用户,所以需要在www用户下建立服务器ssh-key。

假设我内网服务器为a,远程服务器为b。

在内网服务器a需要进行的命令如下:

su www

ssh-keygen -t rsa

然后一路回车

如果需要建立root用户ssh免密码登录,需求进行如下命令:

ssh-copy-id -i ./id_rsa.pub root@【b服务器的IP】

然后查看生成的公钥内容:

cat id_rsa.pub

复制显示的内容,进行下一步,

在外网服务器b需要进行的命令如下:

su www

cd ~/.ssh #没有目录则新建

vi authorized_keys

填写复制的公钥内容到文件里面,保存退出即可

验证能否登录

在a服务器执行命令:

ssh www@【b服务器的IP】

正常情况会出现登录成功提示

三、新建项目

搭建好walle后登录系统,登录账号密码为admin,然后新建系统,按照官方文档新建即可,此处需要注意的是地址可以是http协议和svn协议

《项目自动部署平台搭建》

添加成功后点击检测,提示配置成功,如果提示错误,通常都是ssh-key配置不成功。

三、总结

1、如果ssh 远程登录服务器提示需要密码,则表示配置没有成功,通常是authorized_keys文件名有空格或者其里面的内容有空格,删除重新建即可。

2、walle可以同时发布多个域名,只需要在服务器列表那填写即可。

3、如果SVN没有tag或者branch,不要选择这两项,默认是选中的。

点赞