Jenkins是用来自动构建任务的,也许你还不知道什么叫自动构建任务,它的意思是能够针对某个任务进行自动化,好比你开发的某个软件,每次写完代码提交到github
以后,你能够设置让Jenkins自动进行打包构建发布包或者进行Units测试,发布报告,不用你每次手工在IDE
中去Build,尤为是当打包很是繁琐的时候,用自动化构建能够极大的提升工做效率。java
公司是同事使用Jenkins
作的自动化构建,很是方便,每次提交代码,自动检测打包是否成功,而后发送邮件通知,由于咱们集成了findingbugs
插件,在打包前还会对代码进行findingbus
检索,告诉你findingbus
的状态,还会生成release的发布包,很是之方便。git
wement.io
这个项目我想多人协做开发,天然想到了Jenkins,让你们可以配合的很是的舒服,昨天折腾了三小时,搞定了Jenkins
,其中包括怎么建立一个任务,怎么设置github
,和github
的项目挂钩,怎么设置邮件通知。github
Jenkins
直接去Jenkins
官网下载war
包,我这里是直接部署在阿里云的centos7上的,而后用scp xxx.war root@yourip:/home
直接从本地拷贝到云服务器上,拷贝以后直接用java -jar xxx.war
就能够运行成功了,若是你指望退出命令行还不关闭Jenkins
的话,就用命令nohug java -jar xxx.war
来运行包,java进程自动在后台运行了,关闭命令行窗口也不会退出程序,这样你的Jenkins
就运行了,默认端口监听在8080,若是你也是用的云服务器,请确保你的8080端口是容许访问的。apache
固然,要运行Jenkins
,你须要安装Java环境,若是你的代码仓库用git
的话请安装git,分别命令以下:centos
yum install java
浏览器
yum install git
服务器
尚未完,Jenkins运行成功了,你再在浏览器上打开yourip:8080
跟随Jenkins
安装向导,用默认提示安装完成便可,接下来就是建立任务了。ssh
选择第一性,构建一个自由风格的软件项目
maven
而后保存便可,任务建立完成。可是若是你的项目是私有项目,你须要在你的服务器上生成ssh,而后贴到你的github上,这样作的目的是然github信任你的这个服务器,同时要注意你的Jenkins控制台,有可能要你输入ssh的证书密码。工具
通常来讲这个时候右键通知是没问题的,可是我今天发现我提交代码以后,任务并无自动构建,而后看Jenkins
打的log是这样的:
22:23:55 [WARNING] mvn dependency:tree -Ddetail=true and the above output. 22:23:55 [WARNING] See http://maven.apache.org/plugins/maven-shade-plugin/ 22:23:56 [INFO] ------------------------------------------------------------------------ 22:23:56 [INFO] BUILD SUCCESS 22:23:56 [INFO] ------------------------------------------------------------------------ 22:23:56 [INFO] Total time: 10.112s 22:23:56 [INFO] Finished at: Thu Aug 10 22:23:56 CST 2017 22:23:56 [INFO] Final Memory: 20M/59M 22:23:56 [INFO] ------------------------------------------------------------------------ 22:23:56 Archiving artifacts 22:23:56 Email was triggered for: Always 22:23:56 Sending email for trigger: Always 22:23:56 Not sending mail to unregistered user chengming@testin.cn because your SCM claimed this was associated with a user ID ‘chengming' which your security realm does not recognize; you may need changes in your SCM plugin 22:23:56 An attempt to send an e-mail to empty list of recipients, ignored. 22:23:56 Finished: SUCCESS
意思是构建成功了,可是发送邮件发现提交代码的用户名是chengming
而不是我在Jenkins
中设置的cmlanche
,而后Jenkins自动忽略了发送邮件的这个行为。
而后我在个人sourcetree
中把提交代码的用户换回了cmlanche
,任务自动构建,邮件发送成功!
Jenkins
是一个很是方便的工具,免费开源,推荐你们都来学习,都折腾下,对你之后大有好处。我其实也是刚刚学这个,知道的还很少,还须要花不少时间去折腾,有更新的收获我会慢慢分享出来。
欢迎加入个人Java栈群
:518914410,讨论有关Java的一切技术。