通过PR产生触发器去触发Jenkins的执行,Jenkins去服务器上执行一系列的操作,这个操作例如:
git fetch git pull npm install npm run build ... 复制代码
但实际上我发现,这个其实在服务器上跑一个shell脚本就行了,就如上所示,便可以完成部署,根本和Jenkins 产生不了关系。
分隔符经历了许久时间,阅读了其他人的博客给了我新的思路,于是产生以下流程图。
我们通过PR去触发Jenkins钩子,在Jenkins里关联了github项目与与分支,在构建选项中执行了脚本实现项目编译打包生成我们需要的静态资源文件(ps:其实我的迷惑点是在这里,Jenkins的项目构建是在自己内部完成了项目的打包而非在其他环境下)。在第二个构建步骤,我们选择了发送文件到服务器。具体配置将在下面述说。
publish over ssh 复制代码
重新启动
Manage Jenkins => System Configure => Publish over SSH 复制代码
在 general 里,我们可以写一些项目描述,可以不写 复制代码
这里我们需要选择 git 写入你的项目路径,和凭证(就是你拉下git项目的账户)如果没有需要添加,后面需要指定分支,我选择的是master(这里选择master,在构建时便会拉取master分支的代码),具体如下图。
如下图所示,这里的node也是要安装的,和上述的插件安装类似,provide Node也是一个插件,应用于构建环境,这里我们要把它勾选上(如果没有改复选项,需要进行插件安装)。其他选项皆为默认即可。
3.4.1 可以选择构建操作有很多,我们选择了shell脚本去构建。
Execute Shell 复制代码
代码如下:
#!/bin/bash yarn install && yarn d cd distDev tar -acvf dist.tar.gz * #压缩成文件方便上传 复制代码
3.4.2执行完这一步,我们接着选择构建命令
send files or execute commands over ssh 复制代码
在SSH server 中我们写入了一下信息