接上篇: [完整版]Windows下搭建及配置jenkins(上)
view及item的创建
view创建
首先,明确一下什么是view,什么是item。我的理解是,对于同一个项目而言,view是用来完成环境隔离的,比如dev、test、prod等等,而item则是用于实现服务区分的,比如web、backend、gateway。
由于我们有多套环境,因此我也配置了多个view
这里输入view的名称即可,我基本上用的都是汉字名称,创建是选择第一个List View。
item创建
这里的名称我建议这样区分,如果是开发环境,则用 dev结尾 或 使用dev 开头,这样在进行role的权限配置时,可以方便的进行匹配;测试、演示环境规则相同。
另外,由于我们安装了maven插件,因此我们的选项中多了一个maven项目。
其实,在linux环境下无需这个插件,但是在win环境下,无论是使用windows batch 还是 shell 进行构建时,都提示了 mvn
命令找不到,因此我无奈使用了这个类型。
最下方的 copy from,其实是一个快捷操作方式,也就是当你配置好了一个服务的view后,可以快速使用该view作为模板,进行其他服务的配置,很好用,推荐!
脚本配置
脚本配置这里参考了不少文章,我这里分前端和后端来简要说明
前端
由于我们的前端是单独放在一个项目中,并且最后也需要完成maven打包,因此我选择了maven项目来进行构建。另外,考虑到前端项目有的时候会有依赖更新的情况,因此构建我选择了参数化的选择,分别用build
和install
来实现了npm build
和npm install
的过程
这里的脚本是batch执行的,我在下方贴一下,需要着重强调的是,用的是圆括号
cd web
if %npm% == install (
echo npm install start...
npm install
npm run build
cd ..
exit 0
else if %npm% == build (
echo npm run build start...
npm run build
cd ..
exit 0
else (
echo error choice and do nothing......
exit 0
)
最后则是ssh的配置和远端脚本的执行,比较简单
后端
后端配置相对简单,因为不涉及各种目录的切换,因此直接使用maven默认指令即可
温馨提醒
这里的构建前和构建后,我使用了大量的batch配置,如果想要使用shell的同学,可以参考下面这篇文章先进行配置后在使用,不过效果一般,mvn
命令不知道为什么一直提示not found
角色权限配置
至此,项目的配置基本完成,最后就是角色权限的配置,让开发只能部署dev环境、测试只能部署test环境,避免横向越权
具体配置请参考
需要特别注意的是使用.* 而不是 *来进行任意字符匹配。实际操作中我使用了*
导致保存时一直报错。
另外,global role 和 project role的权限不要搞混,global只配置最低权限即可,而在project role中实现正则匹配。