项目自动部署平台搭建

传统的线上部署方式是通过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,不要选择这两项,默认是选中的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,024评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 按照惯例第一篇送给test。
    ChloeX阅读 2,717评论 2 1
  • 我知道,你所有的努力不一定会立竿见影,可是却都在为了你的未来铺路。依旧是初中信仰的那句话,“努力,不一定成功,...
    雨的伞and云的天阅读 128评论 0 0
  • 今夜 想你 时光荏苒 我算了好久 没有算清我们究竟认识多少年了 (我估计你又默默嘲笑我了) 总有20几年了 那时 ...
    遇见琉璃阅读 459评论 1 3