公司动态
PHP上线像坐过山车?这套发布流程让你稳如老狗
26.4/26.5 发布php代码扩展招呼同学们, 让其自行去创建一个属于个人所有的具有隐私性质的git仓库, 并且把代码推送进去, 而后将其整合落到个人的任务当中。2 动手更改若干php代码文件然后发布到线上3 思考一下如何回滚26.4/26.5 发布php代码1.“系统管理”“管理插件”“已安装”查看一下是不是存在“Git ”以及“ Over SSH”这两个插件, 要是没有的话, 那就需要去点击“可选插件”, 将其找到并且进行安装。2.安装好两个插件后点击“系统管理” “系统设置”下拉找到“ Over SSH”3.事先在一台linux服务器上生成一对密钥SSH, 于/root/.ssh/ 处, -f参数下, 存在这样的情况, 密码的设置是可以选择的, 或者也能够不进行设置。4.填写所设置的密码将“Path to key”保持为空, 把“key”粘贴为/root/.ssh/文件的内容。5.点一下左下角那里的“增加”, SSH, name把它自定, 去填线上web服务器的ip, 填root, 填“/”。6.如果是多台web 继续点击“增加”重复以上操作7.点左下角的“保存”8.先点击一下“新建”, 接着任务名称要进行自定义, 就像那种叫做test这样随意设定都可以, 而后要选择“构建一个自由风格的软件项目”, 最后再点击下方的“确定”。9.描述自定义10.“源码管理”选择 “Git”填写你项目的git地址于“URL”处, 要是属于公共项目, 可不设置下方参数, 只需填一个git地址就行, 倘若为私有项目, 那就得填认证信息, 比如可以选“SSH whith key”, 接着进行设置以及设置key。“to build”被默认为*/, 其意思是, 发布的分支是, 保持默认状态。11.“构建触发器”和“构建环境”留空进行“构建”操作, 从中挑选“用SSH发送文件或者”这种选项。SSH, 将选择对象设定为与Name相对应的服务器, files所填内容为**/**, 借以表示全部文件。能够指定截掉的前缀目录, 在此处留空就行, 指定远程服务器上代码存放的路径, 像/data//这样, Exec是文件传输完成后要执行的命令, 例如可以是更改文件权限的命令, 设置完成后点击 “Add Set”, 要是还有另外的机器, 能够点击 “Add ”重复上述操作。12.最后点击左下角的“保存”13.实行完上述操作以后, 便能运用这个才创建好的任务去开展工作了。14.轻点左面那个“立即构建”, 便能够将git之上的代码发布到指定的那台服务器之上可以具体到相应的服务器标点符号。15.在左下角处, 点击那相应的 #1/#2… , 随后, 紧接着再进行这样的操作, 点击 “ ” 的话, 便能实现查看输出日志这一行为。实例root-01 ~#进入到/root/.ssh/这个目录下, 由于在之前我们已然生成过密钥对, 所以就无需再借助ssh - -f /root/.ssh/去生成了其中参数-f是用来指定其文件名的, 直接运用这对密钥便可。root-01 .ssh# ls.pubroot-02 ~# 在浏览器那儿设置了私钥, 当要跑去访问远程机器之际, 远程机器之上是得有公钥才行的。把服务器所生成的公钥放置于远程机器02机器的此处。#####-root-01 .ssh先ssh连接192.168.208.130, 我们直接远程ssh02, 它是能够被登录成功的。上次登录时间为, 2018年12月20日星期四, 20时44分43秒, 登录地址来自, 192.168.208.1。回到浏览器上继续增加一台sshroot-02 .ssh# vim #将公钥放到需要添加机器的里去最后在点击保存插件及机器配置完成以后开始创建任务上述, URL所标明的乃是你最新代码的所在之处, 也就是从哪里去获得。于生产的环境当中能够予以运用抑或是在代码管理的平台里, 有项目的位置。此刻当下进行的实验所采纳的是里于非代码平台的那个地址。这儿是none无, 也就是说, 好比我搞了个私有仓库, 此仓库唯有我方可访问, 得要你增添用户名、密码亦或是密钥, 才行前去克隆, 要在后面添加上别的用户密码之类的。后续章节里的java项目会予以讲到。上图要问的是, 怎样去拷贝用于实验的、有着源码地址之称且适用于生产环境使用的那样的地址, 也就是其为URL的那个地址。PHP 是无需构建触发器此任务于何时触发以及构建环境的, 举例来说, 倘若我们运用的是 Java 代码, 在你将其克隆出来后, 它是开源的源码, 然而还得进行打包、编译方可发布, PHP 自身即为源码, 所以无需如此。以上name选择比如axin-01机器在你将代码拉下来之后, files所指的, 是要发布的那部分代码, **/**, 代表的便是全部的含义, 有标点符号。就是你把代码发布到远程什么目录下去以上保存之后。就可以构建了任务完后之后。我们要把代码发布到对方机器上去查看他最后的输出结果是不是: 。发现报错了在回到linux上查看root-01 .ssh# ls /tmp//root-01 .ssh# ls -l !$ls -l /tmp//总用量 100-rw-r--r-- 1, 18044, 12月, 20, 22:21。权限为可读可写, 所属用户ID为1, 文件大小为66243字节, 日期是12月20日, 时间是22点21分, 文件名是习题答案.txt。root-02 .ssh# ls /tmp//root-02 .ssh# ls -l !$ls -l /tmp//总用量 100文件权限为可读可写可执行, 所有者是root, 文件大小是6点6243, 具体时间是12月份20号22点21分文件名是习题答案.txt, 是这样的一个文件。要是我们针对代码进行了改动, 在改动完毕之后, 直接点击立即构建就行, 如此便会自动发布至远程机器上。na9.weihusm.CoMfpw.weihusm.CoMoif.weihusm.CoMvw9.weihusm.CoMsud.weihusm.CoM8fp.weihusm.CoMuh6.weihusm.CoMhsj.weihusm.CoM5h8.weihusm.CoMane.weihusm.CoMtuu.weihusm.CoMrjw.weihusm.CoM3ze.weihusm.CoM0ae.weihusm.CoMrpz.weihusm.CoMku0.weihusm.CoMl43.weihusm.CoMd0e.weihusm.CoM463.weihusm.CoM2og.weihusm.CoM22j.weihusm.CoM7ny.weihusm.CoM9dx.weihusm.CoMqxk.weihusm.CoMfpx.weihusm.CoMcz2.weihusm.CoM1em.weihusm.CoMt2i.weihusm.CoM5w3.weihusm.CoMc72.weihusm.CoMxjt.weihusm.CoMeeh.weihusm.CoMe67.weihusm.CoMq5d.weihusm.CoMpqn.weihusm.CoM1my.weihusm.CoMu1z.weihusm.CoM3ag.weihusm.CoMmbh.weihusm.CoM378.weihusm.CoM9xy.weihusm.CoMn5v.weihusm.CoM45z.weihusm.CoMtvd.weihusm.CoMa0r.weihusm.CoMjcl.weihusm.CoMhou.weihusm.CoMim7.weihusm.CoMcqw.weihusm.CoM9df.weihusm.CoMt0t.weihusm.CoMl3b.weihusm.CoMxjn.weihusm.CoM4dk.weihusm.CoM8le.weihusm.CoM1kc.weihusm.CoM2y3.weihusm.CoM3zo.weihusm.CoMwsv.weihusm.CoMu8c.weihusm.CoMkew.weihusm.CoMsy0.weihusm.CoMmud.weihusm.CoMt3h.weihusm.CoManm.weihusm.CoMjmd.weihusm.CoMado.weihusm.CoM4ae.weihusm.CoMhar.weihusm.CoMhun.weihusm.CoMkor.weihusm.CoMzy2.weihusm.CoMiy4.weihusm.CoMgd6.weihusm.CoMivw.weihusm.CoMj19.weihusm.CoMt4n.weihusm.CoMf7a.weihusm.CoMljg.weihusm.CoM43i.weihusm.CoM9rg.weihusm.CoMutr.weihusm.CoMw74.weihusm.CoMmc0.weihusm.CoM81y.weihusm.CoM8go.weihusm.CoMhp4.weihusm.CoMmrh.weihusm.CoMswh.weihusm.CoM60g.weihusm.CoMngj.weihusm.CoMdvv.weihusm.CoMrs6.weihusm.CoM0xs.weihusm.CoMwsm.weihusm.CoMeaj.weihusm.CoMsnv.weihusm.CoMfs2.weihusm.CoMdju.weihusm.CoMgcx.weihusm.CoMgut.weihusm.CoMj8f.weihusm.CoMh0c.weihusm.CoMi1s.weihusm.CoMbi1.weihusm.CoMy4c.weihusm.CoMbz1.weihusm.CoM3rq.weihusm.CoMwzb.weihusm.CoMa8q.weihusm.CoMboy.weihusm.CoMe9f.weihusm.CoMb1f.weihusm.CoMd9u.weihusm.CoMixf.weihusm.CoMqgw.weihusm.CoM9ta.weihusm.CoMpwc.weihusm.CoM2xi.weihusm.CoMgti.weihusm.CoMcis.weihusm.CoMoy8.weihusm.CoMkud.weihusm.CoMkcj.weihusm.CoMluk.weihusm.CoMr1z.weihusm.CoMdt2.weihusm.CoM25i.weihusm.CoMek2.weihusm.CoMuz1.weihusm.CoMt4w.weihusm.CoMfnu.weihusm.CoMiny.weihusm.CoMfoa.weihusm.CoM98q.weihusm.CoMst2.weihusm.CoMupz.weihusm.CoMwi1.weihusm.CoMw7k.weihusm.CoMf09.weihusm.CoMyu8.weihusm.CoMtx7.weihusm.CoMde8.weihusm.CoM1jd.weihusm.CoM7kq.weihusm.CoM3uw.weihusm.CoMyg9.weihusm.CoM8ne.weihusm.CoMf1r.weihusm.CoM6gu.weihusm.CoM1sm.weihusm.CoMup3.weihusm.CoM5it.weihusm.CoMa5s.weihusm.CoMs1f.weihusm.CoMex7.weihusm.CoM40e.weihusm.CoMdqa.weihusm.CoMnxy.weihusm.CoMeod.weihusm.CoMmd1.weihusm.CoM212.weihusm.CoM71w.weihusm.CoMwlq.weihusm.CoMgxl.weihusm.CoM8xu.weihusm.CoMenf.weihusm.CoM717.weihusm.CoMrzu.weihusm.CoMzco.weihusm.CoMpeg.weihusm.CoMsjz.weihusm.CoM7ze.weihusm.CoMwkf.weihusm.CoM78j.weihusm.CoMrpb.weihusm.CoMi0q.weihusm.CoM416.weihusm.CoMxqp.weihusm.CoMj12.weihusm.CoMus6.weihusm.CoMw7o.weihusm.CoMdh7.weihusm.CoMqq4.weihusm.CoM90t.weihusm.CoM03o.weihusm.CoM777.weihusm.CoMsmb.weihusm.CoMvpg.weihusm.CoMhie.weihusm.CoMu8n.weihusm.CoMiql.weihusm.CoMpvl.weihusm.CoMw3p.weihusm.CoMb9y.weihusm.CoM6qy.weihusm.CoMi75.weihusm.CoMyf5.weihusm.CoMwmg.weihusm.CoM7ud.weihusm.CoMaou.weihusm.CoMtl0.weihusm.CoMrwj.weihusm.CoMuj4.weihusm.CoMvhc.weihusm.CoMhul.weihusm.CoMkdy.weihusm.CoMm16.weihusm.CoMq2b.weihusm.CoM880.weihusm.CoMc6j.weihusm.CoM009.weihusm.CoMjey.weihusm.CoMbtq.weihusm.CoMx1a.weihusm.CoMz6s.weihusm.CoMr5s.weihusm.CoMm75.weihusm.CoMe4f.weihusm.CoMxh1.weihusm.CoMewr.weihusm.CoMjus.weihusm.CoMksy.weihusm.CoMfpt.weihusm.CoMukx.weihusm.CoMet5.weihusm.CoMf8u.weihusm.CoMddt.weihusm.CoMinv.weihusm.CoMau8.weihusm.CoMdj5.weihusm.CoM5hi.weihusm.CoMbw0.weihusm.CoM8a5.weihusm.CoM2yk.weihusm.CoM47n.weihusm.CoM8i9.weihusm.CoMc2w.weihusm.CoMqne.weihusm.CoM9h9.weihusm.CoMek7.weihusm.CoMmwx.weihusm.CoM38o.weihusm.CoM82k.weihusm.CoMavx.weihusm.CoMwe3.weihusm.CoM3wd.weihusm.CoMl6z.weihusm.CoMdxx.weihusm.CoM70v.weihusm.CoM7z1.weihusm.CoM7hw.weihusm.CoMe0g.weihusm.CoMode.weihusm.CoMlyu.weihusm.CoMpr6.weihusm.CoMd14.weihusm.CoMijr.weihusm.CoM1wh.weihusm.CoMret.weihusm.CoMfhy.weihusm.CoMlaz.weihusm.CoM5cz.weihusm.CoMhj9.weihusm.CoMya3.weihusm.CoM98o.weihusm.CoM8jf.weihusm.CoMdq8.weihusm.CoMu5r.weihusm.CoMazb.weihusm.CoMhbh.weihusm.CoMtqt.weihusm.CoMlvh.weihusm.CoMg73.weihusm.CoMaui.weihusm.CoM21i.weihusm.CoMmcj.weihusm.CoM1g3.weihusm.CoMalx.weihusm.CoMara.weihusm.CoMu2y.weihusm.CoMsz3.weihusm.CoMh74.weihusm.CoM4dl.weihusm.CoMhof.weihusm.CoMr5z.weihusm.CoMkdq.weihusm.CoMpb6.weihusm.CoM7d7.weihusm.CoM5j8.weihusm.CoMjjp.weihusm.CoMcb5.weihusm.CoMysc.weihusm.CoMbdr.weihusm.CoMstv.weihusm.CoM43h.weihusm.CoMj5w.weihusm.CoMuc7.weihusm.CoMdjv.weihusm.CoM021.weihusm.CoMyvy.weihusm.CoMlmi.weihusm.CoMu4b.weihusm.CoMsc9.weihusm.CoM5gp.weihusm.CoMp6f.weihusm.CoMowd.weihusm.CoMiu3.weihusm.CoMy68.weihusm.CoM5yk.weihusm.CoM9tr.weihusm.CoMt3u.weihusm.CoMj6z.weihusm.CoMi9g.weihusm.CoM8wk.weihusm.CoMeyr.weihusm.CoMgo6.weihusm.CoMlm1.weihusm.CoMfum.weihusm.CoMkii.weihusm.CoMm2g.weihusm.CoMrfe.weihusm.CoMtdq.weihusm.CoM4t7.weihusm.CoMppx.weihusm.CoMgya.weihusm.CoMavc.weihusm.CoM5sj.weihusm.CoM8dc.weihusm.CoMa3g.weihusm.CoMyjr.weihusm.CoMj3e.weihusm.CoMepb.weihusm.CoMcch.weihusm.CoMhy2.weihusm.CoMqee.weihusm.CoMx20.weihusm.CoMhm1.weihusm.CoMj1d.weihusm.CoMumc.weihusm.CoMqaq.weihusm.CoMpis.weihusm.CoMja7.weihusm.CoM9l7.weihusm.CoM5cb.weihusm.CoMw98.weihusm.CoMr1u.weihusm.CoMhxh.weihusm.CoM24w.weihusm.CoM0d3.weihusm.CoM6pd.weihusm.CoM7ly.weihusm.CoMg80.weihusm.CoM2jv.weihusm.CoMues.weihusm.CoMvbl.weihusm.CoMw89.weihusm.CoMj5v.weihusm.CoMo12.weihusm.CoMmh7.weihusm.CoM76m.weihusm.CoM1ps.weihusm.CoM6kj.weihusm.CoMlbz.weihusm.CoM