目的
从git上自动拉取代码
自动打包编译react项目
自动将打包编译后的文件发送到远程服务器nginx的目录下
准备工作
- 已有git的代码库
- 已安装jenkins
- 已安装nodejs环境
开始操作
基础配置
为jenkins安装以下两个插件
- NodeJS Plugin:nodejs环境配置
- Publish Over SSH:远程控制插件,用于发送文件
在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更改到相对应的用户