Java之持续化集成

Jenkins 主要用于公司持续集成环境的搭建。起到自动构建、自动编译、自动化测试一体龙的功能,它提供了数百个插件支持建设,测试,部署和几乎任何项目自动化。

下面从几个方面来配置 Jenkins ,实现自动化集成环境

一、启动Jenkins

从官网下载下来的 jenkins.war包直接放在 tomcat/webapps/ 下面直接运行即可,如果你需要改变 jenkins 主目录 :/root/.jenkins,那么在 tomcat配置档 catalina.sh 中加入以下行即可:

# JENKINS HOME DIRECTORY
export JENKINS_HOME="/data/jenkins_home/gougeili"
  • 1
  • 2

之后执行 bin/catalina.sh start 启动 jenkins,上面的域名是我手动指定的。当然,你也可以通过ip及port进行访问

这里写图片描述


二、配置全局安全 (configure global security)

点击系统管理,选择 configure global security

这里写图片描述

在全局安全中,对以下选项进行打勾 
1、启用安全 
2、Jenkins 专有用户数据库(不允许用户注册,需要admin自行创建) 
3、项目矩阵授权策略(根据不同用户分配不同权限) 
4、Use browser for metadata download

这里写图片描述

这里写图片描述

当你选择应用之后,Jenkins 会要你创建一个账户,并且这个账户是管理员(拥有所有 permission )

这里写图片描述


三、插件管理

jenkins 插件主要是提供特殊的功能,根据不同的需求我们可以安装不同的插件。选择系统管理,继续插件管理

这里写图片描述

在该页面中选择所需的插件,进行安装

可更新(选择所需更新的插件)
可选插件(选择所需安装的插件)
已安装(查看已经安装的插件)
高级(设置代理及上传插件)
  • 1
  • 2
  • 3
  • 4

这里写图片描述

找出所需安装的插件,进行安装(就好比说我所选择的插件,它主要是用来编辑视图的,根据不同的项目进行分类)

这里写图片描述

ps:安装过程中 gitlab-plugin 插件并没有安装成功,所以我手动进行下载,并上传(下载地址在失败-详细里面查看)

这里写图片描述

这里写图片描述


经过一段时间的安装,可以看到我已经成功 install了 一些插件,当然也有一些提示,类似于准备之前并没有翻墙连接到 Google;或是插件已经安装完成,重启生效。

这里写图片描述

这里写图片描述

这里写图片描述


四、系统设置

1、点击系统管理,接着点击系统设置

这里写图片描述

2、可以看到,jenkins 主目录在 /data/jenkins_home/gougeili,第二个箭头标识的执行者数量代表 jenkins 最大支持几个任务同时执行。

这里写图片描述

3、SSH远程主机设置,这边呢,主要是添加SSH目标主机,便于在Jenkins执行任务前或后调用远程脚本进行操作

这里写图片描述

4、JDK 设置

这里写图片描述

5、Git 设置

这里写图片描述

6、Maven 安装及配置(由于我这边项目都是通过依赖Maven,pom.xml 进而打包发布的,所以这边增加maven配置)

这里写图片描述

这里写图片描述

7、Gitlab Web Hook 设置

这里写图片描述

8、HTML5 Notification Configuration

这里写图片描述

9、Subversion 版本配置。 1.8

这里写图片描述

10、Jenkins url 及 mail 设置

这里写图片描述

11、Mail 通知设置 
这里写图片描述


五、新建一个项目

在主页面选择新建,输入项目名称,新建一个Maven项目。构建主要是通过pom.xml文件的配置进行的。

这里写图片描述

选择丢弃旧的构建为15天(保持最近15天内的构建项目),以及启用项目安全(哪些人有哪些权限可以做哪些事),在安全中我只添加了自己的权限。

这里写图片描述

在源码管理页面中,我选择了subversion,并且填入svn地址。手动通过验证后,jenkins会自己把验证信息保存起来。

这里写图片描述

构建选项设置,当然,这些设置是开发留给运维的,参数具体的意义是跟程序挂钩。 
第二个箭头则勾选 Run only if build succeeds,代表只有在构建成功后才会执行下面的信息(Add post-build Sep) 。在执行前也可以执行脚本啊,之类的东西 不过意义不大,一般只有项目成功构建后运维才会涉及操作。

这里写图片描述

最后设置该项目的 Mail 地址,则项目建立完成。

这里写图片描述

六、构建一个项目

点击刚才新建的项目,选择立即构建,构建时间视情况而定,第二张图中可以看到项目构建成功。

这里写图片描述

这里写图片描述


PS:在最后要提到一点,jenkins只是一个用来构建打包的工具,至于持续化集成的实现,可以根据不同的插件进而添加不同的功能。像我公司就是通过jenkins打包;完成之后用shell脚本进而分发,实现自动化集成的目的。


Jenkins 常用插件

AnsiColor
Ant Plugin
Checkstyle Plug-in
Credentials Plugin
CVS Plug-in
Dashboard View
External Monitor Job Type Plugin
Git client plugin
Git plugin
Gitlab Hook Plugin
GitLab Logo Plugin  
GitLab Plugin
Git Parameter Plug-In
Extended Choice Parameter Plug-In
Dynamic Extended Choice Parameter Plug-In
HTML5 Notifier Plugin
Hudson MySQL Plugin
Javadoc Plugin
JIRA plugin
jQuery plugin
JUnit Plugin
LDAP Plugin
Mailer Plugin
MapDB API Plugin
Matrix Authorization Strategy Plugin
Matrix Project Plugin
Maven Integration plugin
Modern Status
Notification plugin
OWASP Markup Formatter Plugin
PAM Authentication plugin
Pipeline: Step API
Plain Credentials Plugin
Publish Over SSH
ruby-runtime
SCM API Plugin
Script Security Plugin
Simple Theme Plugin
SSH Credentials Plugin
SSH plugin
SSH Slaves plugin
Static Analysis Utilities
Status View Plugin
Structs Plugin
Subversion Plug-in
Translation Assistance plugin
Readonly Parameter plugin
Poll SCM plugin
Description Column Plugin
GitHub API Plugin
GitHub plugin
Pre SCM BuildStep Plugin
Resource Disposer Plugin
Role-based Authorization Strategy


Build-timeout Plugin可以让长时间运行的job自动停止。防止无止境执行下,其他job无法执行。
Discard Old Build plugin 删除历史build,节约硬盘空间。
Workspace Cleanup Plugin 与上面类似,但删除的是workspace。
Email-ext plugin自动邮件提醒,比原始更牛逼。
Rebuild Plugin快速重新构建job,自动输入之前的参数。
Timestamper Jenkins log输出带上时间戳,更方便定位问题发生的时间。
  • 声明:转载自 https://blog.csdn.net/wanglei_storage/article/details/50888558

Jenkins 主要用于公司持续集成环境的搭建。起到自动构建、自动编译、自动化测试一体龙的功能,它提供了数百个插件支持建设,测试,部署和几乎任何项目自动化。

下面从几个方面来配置 Jenkins ,实现自动化集成环境

一、启动Jenkins

从官网下载下来的 jenkins.war包直接放在 tomcat/webapps/ 下面直接运行即可,如果你需要改变 jenkins 主目录 :/root/.jenkins,那么在 tomcat配置档 catalina.sh 中加入以下行即可:

# JENKINS HOME DIRECTORY
export JENKINS_HOME="/data/jenkins_home/gougeili"
  • 1
  • 2

之后执行 bin/catalina.sh start 启动 jenkins,上面的域名是我手动指定的。当然,你也可以通过ip及port进行访问

这里写图片描述


二、配置全局安全 (configure global security)

点击系统管理,选择 configure global security

这里写图片描述

在全局安全中,对以下选项进行打勾 
1、启用安全 
2、Jenkins 专有用户数据库(不允许用户注册,需要admin自行创建) 
3、项目矩阵授权策略(根据不同用户分配不同权限) 
4、Use browser for metadata download

这里写图片描述

这里写图片描述

当你选择应用之后,Jenkins 会要你创建一个账户,并且这个账户是管理员(拥有所有 permission )

这里写图片描述


三、插件管理

jenkins 插件主要是提供特殊的功能,根据不同的需求我们可以安装不同的插件。选择系统管理,继续插件管理

这里写图片描述

在该页面中选择所需的插件,进行安装

可更新(选择所需更新的插件)
可选插件(选择所需安装的插件)
已安装(查看已经安装的插件)
高级(设置代理及上传插件)
  • 1
  • 2
  • 3
  • 4

这里写图片描述

找出所需安装的插件,进行安装(就好比说我所选择的插件,它主要是用来编辑视图的,根据不同的项目进行分类)

这里写图片描述

ps:安装过程中 gitlab-plugin 插件并没有安装成功,所以我手动进行下载,并上传(下载地址在失败-详细里面查看)

这里写图片描述

这里写图片描述


经过一段时间的安装,可以看到我已经成功 install了 一些插件,当然也有一些提示,类似于准备之前并没有翻墙连接到 Google;或是插件已经安装完成,重启生效。

这里写图片描述

这里写图片描述

这里写图片描述


四、系统设置

1、点击系统管理,接着点击系统设置

这里写图片描述

2、可以看到,jenkins 主目录在 /data/jenkins_home/gougeili,第二个箭头标识的执行者数量代表 jenkins 最大支持几个任务同时执行。

这里写图片描述

3、SSH远程主机设置,这边呢,主要是添加SSH目标主机,便于在Jenkins执行任务前或后调用远程脚本进行操作

这里写图片描述

4、JDK 设置

这里写图片描述

5、Git 设置

这里写图片描述

6、Maven 安装及配置(由于我这边项目都是通过依赖Maven,pom.xml 进而打包发布的,所以这边增加maven配置)

这里写图片描述

这里写图片描述

7、Gitlab Web Hook 设置

这里写图片描述

8、HTML5 Notification Configuration

这里写图片描述

9、Subversion 版本配置。 1.8

这里写图片描述

10、Jenkins url 及 mail 设置

这里写图片描述

11、Mail 通知设置 
这里写图片描述


五、新建一个项目

在主页面选择新建,输入项目名称,新建一个Maven项目。构建主要是通过pom.xml文件的配置进行的。

这里写图片描述

选择丢弃旧的构建为15天(保持最近15天内的构建项目),以及启用项目安全(哪些人有哪些权限可以做哪些事),在安全中我只添加了自己的权限。

这里写图片描述

在源码管理页面中,我选择了subversion,并且填入svn地址。手动通过验证后,jenkins会自己把验证信息保存起来。

这里写图片描述

构建选项设置,当然,这些设置是开发留给运维的,参数具体的意义是跟程序挂钩。 
第二个箭头则勾选 Run only if build succeeds,代表只有在构建成功后才会执行下面的信息(Add post-build Sep) 。在执行前也可以执行脚本啊,之类的东西 不过意义不大,一般只有项目成功构建后运维才会涉及操作。

这里写图片描述

最后设置该项目的 Mail 地址,则项目建立完成。

这里写图片描述

六、构建一个项目

点击刚才新建的项目,选择立即构建,构建时间视情况而定,第二张图中可以看到项目构建成功。

这里写图片描述

这里写图片描述


PS:在最后要提到一点,jenkins只是一个用来构建打包的工具,至于持续化集成的实现,可以根据不同的插件进而添加不同的功能。像我公司就是通过jenkins打包;完成之后用shell脚本进而分发,实现自动化集成的目的。


Jenkins 常用插件

AnsiColor
Ant Plugin
Checkstyle Plug-in
Credentials Plugin
CVS Plug-in
Dashboard View
External Monitor Job Type Plugin
Git client plugin
Git plugin
Gitlab Hook Plugin
GitLab Logo Plugin  
GitLab Plugin
Git Parameter Plug-In
Extended Choice Parameter Plug-In
Dynamic Extended Choice Parameter Plug-In
HTML5 Notifier Plugin
Hudson MySQL Plugin
Javadoc Plugin
JIRA plugin
jQuery plugin
JUnit Plugin
LDAP Plugin
Mailer Plugin
MapDB API Plugin
Matrix Authorization Strategy Plugin
Matrix Project Plugin
Maven Integration plugin
Modern Status
Notification plugin
OWASP Markup Formatter Plugin
PAM Authentication plugin
Pipeline: Step API
Plain Credentials Plugin
Publish Over SSH
ruby-runtime
SCM API Plugin
Script Security Plugin
Simple Theme Plugin
SSH Credentials Plugin
SSH plugin
SSH Slaves plugin
Static Analysis Utilities
Status View Plugin
Structs Plugin
Subversion Plug-in
Translation Assistance plugin
Readonly Parameter plugin
Poll SCM plugin
Description Column Plugin
GitHub API Plugin
GitHub plugin
Pre SCM BuildStep Plugin
Resource Disposer Plugin
Role-based Authorization Strategy


Build-timeout Plugin可以让长时间运行的job自动停止。防止无止境执行下,其他job无法执行。
Discard Old Build plugin 删除历史build,节约硬盘空间。
Workspace Cleanup Plugin 与上面类似,但删除的是workspace。
Email-ext plugin自动邮件提醒,比原始更牛逼。
Rebuild Plugin快速重新构建job,自动输入之前的参数。
Timestamper Jenkins log输出带上时间戳,更方便定位问题发生的时间。
  • 声明:转载自 https://blog.csdn.net/wanglei_storage/article/details/50888558

猜你喜欢

转载自blog.csdn.net/u014252478/article/details/80966030