您的位置:首页 > 编程语言

部署代码遇到坑

2015-11-02 16:34 183 查看
独立开发这个项目之后,各种杂事也要单独处理了,也许这就是服务端「杂」的原因之一吧。

之前已经在自己的机器上去除了XAMPP的开发环境,手动部署了MAMP的环境,只差mysql环境没装好,brew安装mysql有些权限的问题,mysql还是使用的XAMPP中的mysql。把Apache服务器切换到Nginx(openresrty),本来以为部署这个环境已经没有什么问题。以下今天早上将代码部署到 内部测试机器 沙箱 遇到的坑。

1、scp 沙箱没有scp,需要传一些文件到沙箱服务器,当时确实考虑到换一个方法来发文件。也是年轻,想着沙箱现在也是内部使用,我装个scp应该不会有问题,yum安装,机器竟然就挂了 orz,找运维重启了机器。以后遇到这种事情还是不要轻举妄动。

2、机器重启,个人目录下的文件全部没了,这个点,我竟然就想过要先解决!这个坑最深。

3、我直接jenkins部署了项目管理后台的代码,jenkins应该是root权限运行,直接clone了最新代码,权限为root,坑3。因为使用smarty,会生成模板缓存文件,nginx的运行用户为www,无法读写某个文件夹,产生不了文件,导致后台进去一只是白屏,也没有报错。一度认为是rewrite的原因。后来查看了nginx的error.log才发现这个问题。

4、沙箱是一台docker机器,不是我熟悉的centos,开启各种环境的指令也不一样。

5、线上是集群,代码里面一些host指向各个机器,沙箱机器却无法编辑/etc/hosts文件,也无法修改为可写。无法执行sudo命令。只能手动更改代码里面的host了。机器挂掉之前hosts文件是被修改过的,后面要找运维询问如何修改这个文件,否则每次部署代码都要修改host。

6、数据库变更文件没有先导入。

7.沙箱是测试机器,一起开发人员上传过很多测试文件,但是因为坑1,文件全没了....找运维恢复后,以上步骤请重新来过......

总结一下我犯的错误:

1、不该随便在陌生的机器上执行会产生修改机器的指令,安装软件,修改陌生的系统文件等。

2、遇到问题一定不能着急,一定要先想办法进行最大程度的恢复。

3、由于项目部分没有设置jenkins,需要手动进行代码合并,对于代码的修改我必须现有一个记录。

4、先想好一个部署的checklist,确保万无一失。

在总结一下之后需要部署这台服务器的步骤。

1、代码合并提交到svn仓库。

2、数据库迁移文件。

3、需要手动合并的代码,一定要现有一个记录,好进行文件替换。

4、重启nginx

暂时想到这些,其实也不是全是坏消息。

好消息是  scp 能用了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: