linux centos7 使用Jenkins部署React前端项目自动化

目的

从git上自动拉取代码

自动打包编译react项目

自动将打包编译后的文件发送到远程服务器nginx的目录下

准备工作

  • 已有git的代码库
  • 已安装jenkins
  • 已安装nodejs环境

开始操作

基础配置

为jenkins安装以下两个插件

在jenkins上配置nodejs

  • 系统管理->全局工具配置:找到nodejs进行配置,选择相应的版本,然后勾选自动下载即可

在jenkins上配置远程服务器的ssh,也就是我们要把文件发送到这个服务器上

  • 系统管理->系统设置:找到Publish over SSH的配置区域

    其中Remote Directory填写/,在之后的配置里,直接写全路径就可以了

    然后点击test Configuration按钮进行测试连接一下,显示 Success就说明配置成功了

创建任务

  • 点击新建任务
  • 输入任务名称、选择构建一个自由风格的软件项目
  • 然后进入该任务的配置页进行相关的配置

配置任务

  • 源码管理:

    选择git,输入仓库的地址,如果jenkins中没有git的全局凭证,默认的情况下自己创建一个即可

  • 构建环境:

    在这个区域选择构建环境,选择Provide Node & npm bin/ folder to PATH,然后下拉选上之前配置的nodejs的名称

  • 构建:

    选择执行shell,输入相关命令,注意:这里的目录是相对于git拉取的根目录下,执行命令的时候注意参考

  • 构建后操作:

    选择Send build artifacts over SSH,选择之前配置的服务器

    Source files:填写要传送的文件,这个目录是相对于jenkins的工作空间目录

    Remove prefix:移除的目录前缀,如果Source files填写A/B/C.txt,该处不填写内容,目标服务器就会递归的创建相对应的目录,如果该处填写/A/B,则目标服务器之将文件传送到指定目录,不进行创建

  • Remote directory:要将文件传送到服务器的那个目录下

  • Exec command:这里填写命令,这些命令会在目标服务器上运行

nginx目录配置

如果更改了nginx配置中的root,需要注意这个文件夹要拥有nginx用户的所有权限,配置文件中有user的配置,有两种途径

  • 更改这个文件夹的权限为nginx用户
  • 将配置文件的user更改到相对应的用户