转载

使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push

以前我们在发布项目时都要手动进行打包,然后使用FTP或者其他方式同步到服务器上,这种方式非常繁琐和低效,而且容易出现环境发布错误,为了解决这些问题我们可以使用jenkins来进行自动化发布。

我使用的系统是CentOS 7.5,在安装环境的时候其他系统会有区别。

jenkins发布工作流程

  • 本地push代码
  • 服务端jenkins拉取代码
  • 将代码移到web服务工作目录
  • 发送邮件通知

准备

  • git仓库(可以是gitlab,github,码云或者其他带web hooks的git仓库)
  • 服务器一台(windows或者Linux都可以,本文使用的是CentOS 7.5 64位)
  • 服务器安装git,java,jenkins

安装java

yum install java
复制代码

验证是否安装成功

java -version
复制代码

如果有版本号输出表示安装成功

安装git

yum install git
复制代码

验证是否安装成功

git --version
复制代码

安装jenkins

提示:操作系统不一样下载的包也不一样,安装命令也不一样

  • 打开 jenkins.io/zh/download… ,选择对应系统的安装文件

  • 安装 (安装包目录下执行)

    sudo rpm -ih jenkins-2.121.3-1.1.noarch.rpm

  • 启动

    service jenkins start

如果启动成功,我们在浏览器输入 http://服务器地址:8080 就能访问到入门页面了,如果不能访问检查8080端口是否被占用。

使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push

在服务器上输入 cat /var/lib/jenkins/secrets/initialAdminPassword 查看管理员密码,输入密码后点击继续。

使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push

然后选择 安装推荐的插件 等待安装完成

使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push

安装完成后我们点击右下角 使用admin账号继续

使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push

然后点击 保存并完成

使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push

点击 开始使用 jenkins 就会跳转到首页

使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push

创建任务

点击 开始创建一个新任务 ,输入名称,选择 构建一个自由风格的软件项目 ,然后点击 确定

使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push

配置源码管理

源码管理
GIT
Repository URL
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
  • Branches to build 输入我们需要拉取的分支

构建配置

git拉取完成后,我们需要将代码复制到web服务的目录下,这里我们可以使用sshell命令来进行操作

  • 点击 构建
  • 点击 增加构建步骤 ,选择 执行sshell
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
  • 输入复制文件命令 cp -r ./dist/* /var/project/test (注意路径和文件夹名称,需要改成你项目的路径)
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push

然后点击保存,现在我们可以点击左边菜单中的 立即构建 来发布项目。

使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push

web hooks 自动发布

到此我们构建就配置好了,但是还是需要我们提交代码后打开jenkins点击构建,接下来我们实现git push代码之后自动进行构建

安装 Generic Webhook Trigger 插件

  • 回到首页,点击 系统管理 -> 插件管理
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
  • 点击 可选插件 ,搜索 Generic Webhook Trigger ,然后点击 直接安装
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
  • 安装完成后返回首页,点击项目名称,选择 配置
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
  • 点击 构建触发器 ,选择 Generic Webhook Trigger
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
  • Token 处填写一个token (不能与其他项目token重复),然后点击保存
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push

git配置hooks(github添加方法类似,在设置中添加)

  • 打开git项目页面,选择配置 -> WebHook -> 添加
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
  • URL 处填写地址 你的jenkins服务器地址:端口/generic-webhook-trigger/invoke?配置的token ,例如我的地址就是 http://192.168.3.18:8080/generic-webhook-trigger/invoke?token=test-project
  • 点击保存,后续只要 push 代码,jenkins便会自动发布

邮件提醒

构建完成后将结果和log发送到邮箱,以qq邮箱为例,其他邮箱类似

  • jenkins 插件中搜索 Email Extension Plugin 安装 (如果搜索不到就去以安装里面搜索下是否已经安装了)
  • 安装完成后,回到首页,点击 系统管理 -> 系统配置
使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
  • 系统管理员邮件地址:填写配置的邮箱地址

  • 找到 Extended E-mail Notification 选项,填写以下配置

    • SMTP server:邮箱的SMTP地址,qq邮箱是 smtp.qq.com 163邮箱是 smtp.163.com ,其他邮箱可以自行查找
    • Default user E-mail suffix:邮箱后缀
    • 点击右下角高级,填写下图配置
    使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
    使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push

    配置中 User Name 为你的邮箱, Password 为你的smtp密码,可以去邮箱设置中查看

    使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
    HTML(text/html)
    
  • 配置完成后返回项目设置,选择 构建后操作 ,点击 增加构建后操作步骤 ,选择 Editable Email Notification

  • Project Recipient List 选项填写你通知的邮箱

  • Attach Build Log选择 Attach Build Log ,发送邮件的时候附带构建日志

  • 点击 Add Trigger 选择 Always 然后点击保存

    使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
    使用Jenkins实现前端自动化发布和通知,让你的发布只需要git push
  • 配置完成后点击保存,然后点击 立即构建 就可以测试我们的邮件通知是否能发送成功

结尾

到此我们就完成了jenkins的自动化发布,但是这还只是简单的配置,后续我还会继续写如何 发布到远程服务器正是环境和测试环境区分 , nodegolang 的构建发布。

ps: flutter-weui 是使用flutter实现的一个weui组件库,支持安卓,ios(web和桌面也可以)现在已经实现了将近30多个组件,喜欢的赏赐个Star:sparkles::sparkles:

原文  https://juejin.im/post/5dfe33c2f265da33c34e3eb1
正文到此结束
Loading...