Jenkins+Git+shell自动化部署一之流程回顾

         最近工作时总是需要用xshell连接Linux服务器手工部署php项目,很是麻烦,于是想通过代码来解决这个头痛的问题,于是开撸,撸之前先整理思路,下面我就从以下几个方面介绍下整个过程。

         1.自动化部署需要工具

         2.部署脚本shell需要完成的功能

         3.遇到的技术问题有哪些

         4.这些问题是怎么解决的

少废话,先看最终成果。

Jenkins:

shell:

 

下面分别详细介绍:

1、自动化部署需要的工具

自动化部署持续继承当然是大名鼎鼎的Jenkins啦,因为要涉及到自动化,优先选择shell,因为可以在Linux上直接操作

2.自动化部署shell脚本需要完成的功能

第一步:登陆目标Linux服务器,这里可以采用Linux的spawn和expect,也可以直接通过Jenkins的ssh插件来解决。

第二步:检查目标项目是否存在,如果存在直接git checkout 目标分支,git pull就可以了,但是如果遇到手动修改过Linux服务器上的代码,一般git过程中都会Aborting,所以为了防止遇到这种问题,想到了强制构建,也就是不管当前项目存在与否,统一删除后,重新git clone,通过shell代码解决

第三步:git 更新或下载目标项目后,需要软链接Nginx配置文件,但是此时可能已经存在,防止配置文件发生更新,所以需要重新复制,并重新加载,通过shell代码解决

第四步:最后需要cp目标项目的service文件到/lib/systemd/system,但是此时可能已经存在,防止配置文件发生更新,所以需要重新复制,并重新启动服务,通过shell代码解决

第五步:重启服务后,检查项目是否已经启动,并打印该项目日志,通过shell代码解决

3.遇到的技术问题有哪些

1.Jenkins迁移,更换workspace如何操作?

2.Jenkins参数化构建,怎么提取目标分支,如何使用布尔参数?

3.Jenkins构建,如何远程执行shell脚本,困难是需要切换用户操作?

4.shell如何等待执行,shell如何自动与Linux交互?

5.Jenkins控制台日志中文乱码?

6.Jenkins系统如何显示中文简体?

 

 

未完待续!!!

关注我,持续更新后续内容,后续内容更加精彩,涉及到以上所有问题的讲解。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值