背景

如果没有自动化的部署过程,每次提交代码
需要执行的操作有5步骤

  1. # 第一步,删除旧的文件夹
  2. rm -rf xxx
  3. # 第二步,下载更新后的文件
  4. git clone git@github.com:ococa/blog.git
  5. # 或者上传文件到服务器
  6. scp -r /User/testFile root@120.120.23.123:/root
  7. # 固定三步骤 安装依赖
  8. cd fileName
  9. npm install
  10. npm run build
  11. # 启动服务器

由于太繁琐于是开始考虑怎么样减少工作量

求助谷歌

image.png

结果:找到关键字 jenkins

jenkins安装和使用

一 jenkins安装

依赖

  1. java jdk

    安装过程

二 jenkins使用前配置

1. github配置

打通github和jenkins服务器通道

  1. 在github新建Personal access tokens, 记录生成的token,只显示一次image.png

image.png在jenkinsgithub配置时候,添加Credentials(凭据),选择secret text类型并且填入 .保存之后选择新添加的配置,并测试联通性image.png
image.png

2. ssh服务器配置

image.png

3. 邮箱配置(可选)

jenkins使用(创建自动流程)

1. 新建一个流水线

image.png

2. 设置github仓库地址及配置等

image.png

3. 设置触发构建的方式,这里选择github hook触发

image.png

4. 设置构建过程

image.png

5. 自动部署到其他服务器

image.png

6. 可选(发送邮件,增加代码测试,等等)

7. 保存

结果测试

  1. 修改github

修改.gif

  1. jenkins 输出

image.png

  1. 服务器内容

image.png

展望

  1. 自动版本回退怎么搞?
  2. 更简单的用法?
  3. k8s docker?
  4. pm2?