首先,Jenkins可以很方便的在我们的项目中帮助我们去部署、打包项目,在开发过程中避免了繁琐的手动打包步骤,只要我们把项目部署到Jenkins中,然后添加上一些列的脚本,就能帮助我们很快的完成打包工作,并且它与版本管理工具Svn、Git等兼容。

下面我们开始Jenkins之旅:

在windows系统上搭建jenkins持续集成有两种方法: (前提是我们已经配置好了jdk环境)

安装:

1、war文件,可以用tomcat或者java命令直接运行

2、msi安装,作为系统服务后台运行

在Jenkins官网下载很慢,可以在以下链接直接下载:

链接: https://pan.baidu.com/s/1AeKlQ4mgJDUVdfDmGow5dA 提取码: 2h7s    版本:2.176.2 当时我只是下载了msi。

下载后双击安装就好,

初始化:

安装好了后,我们在Jenkins根部目录下看下里边的Jenkins.xml文件

jenkins nodejs打包 jenkins打包发布_svn

里边有默认的端口号,默认的是8080,这个是我们后续访问Jenkins时需要用到的端口号,可以自行更改。

然后就是初始化我们的管理员账号,在浏览器中我们访问localhost:8080,就会弹出让我们设置管理员的密码,不过之前会先告诉你Jenkins的默认密码跟位置,输入后我们就可以初始化我们的管理员的用户跟密码了。

设置好后我们就可以退出试着登录下看看是否登录成功:

jenkins nodejs打包 jenkins打包发布_svn_02

正常情况下,我们就能正常进入我们的Jenkins首页了。

jenkins nodejs打包 jenkins打包发布_初始化_03

这个里边是我刚刚创建的项目,这个后续说,成功进入后我们可以进入到Manager Jenkins

jenkins nodejs打包 jenkins打包发布_初始化_04

jenkins nodejs打包 jenkins打包发布_jenkins nodejs打包_05

然后在上边返回插件里边我们就可以选择自己想要的插件了,里边很丰富,然后下边就是一些Jenkins的通用配置,包括管理员创建账户权限一类,这个自行学习琢磨。

然后我们返回到我们的首页

jenkins nodejs打包 jenkins打包发布_Jenkins_06

我们看到一个新建Item,这个就是我们供给我们新建项目的

jenkins nodejs打包 jenkins打包发布_初始化_07

我们可以自己创建一个空项目。比如我这边是做游戏开发的,我就创建了一个名为cocos2d的项目目录。

jenkins nodejs打包 jenkins打包发布_初始化_08

这个时候我们点进项目中去看看:

jenkins nodejs打包 jenkins打包发布_初始化_09

这个时候左侧的菜单栏中就发生了变化,就是当前项目的一些设置,其中里边重要的就是

工作空间:项目资源代码一类的

Build Now:编译项目用的

配置:这个就是我们主要操作的,配置当前项目的一些执行脚本

我们打开配置看下:

jenkins nodejs打包 jenkins打包发布_svn_10

主要说下代码管理,我们可以通过Svn或者Git管理此项目,以上我的项目就是从Svn中拉取的,下边有个Use ‘svn update’ as much as possible 这个的作用就是每次在打包前我们都会在svn中拉取最新的代码,保证打的包是最新的,里边有几个选项,自己琢磨。

最下边有个核心的东西,也就是我们在的自动化脚本的实现了:

jenkins nodejs打包 jenkins打包发布_Jenkins_11

以上我们先定位到了我们的项目路径中,然后去执行里边的一个脚本,脚本的中的内容就是我们的打包一系列的命令。为了测试我直接把批处理直接丢在这里边了。

最后这些都做完了,正常的话我们就可以自己打包了,返回我们的项目属性那

jenkins nodejs打包 jenkins打包发布_初始化_12

点击里边的Build Now,不过这个之前我们要根据我们的项目确保其他环境配置好了,比如说Java JDK的环境,然后就会将我们的项目更新的到最新,然后触发我们的打包命令。

jenkins nodejs打包 jenkins打包发布_jenkins nodejs打包_13

jenkins nodejs打包 jenkins打包发布_初始化_14

这个时候正在构建,然后我们可以看下后台输出:里边就是首先拉取最新的代码,然后执行我们的写的打包脚本,正常的话最后看见Finished:SUCCESS,就代表我们打包成功了。

这样的话,我们提交了代码,策划或者其他部门是不是就能很方便的点下Build Now,然后自己出包了,省的每次召唤我们程序去给他们出包了(一天思维被打断几百次巨特么难受)