‘壹’ jenkins干嘛用的
Jenkins是一个开源软件项目,是基于java开发的一种持续集成或凯工具,用于监控持续重复的弊段工作,旨在提供租团誉一个开放易用的软件平台,使软件项目可以进行持续集成。
Jenkins功能包括:
1、持续的软件版本发布/测试项目。
2、监控外部调用执行的工作。
启动:
首先保证系统中已经安装了jdk,最好是jdk1.5以上。
第一种启动方法,切换到jenkins.war存放的目录,输入如下命令:
$ java -jar jenkins.war
如果需要修改端口可以使用如下命令:
$ java -jar jenkins.jar--httpPort=8081
然后在浏览器中(推荐用火狐)输入localhost:8081,localhost可以是本机的ip,也可以是计算机名。就可以打开jenkins。
第二种方法是用tomcat打开
解压tomcat到某个目录,如/usr/local,进入tomcat下的/bin目录,启动tomcat
将jenkins.war文件放入tomcat下的webapps目录下,启动tomcat时,会自动在webapps目录下建立jenkins目录,在地址栏上需要输入localhost:8080/jenkins。
‘贰’ Java Maven打包总结(Jenkins多模块编译部署)
原文地址: Java Maven打包总结(Jenkins多模块编译部署)
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。
完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
可以看到主要区别在把生成的jar包最终存放的位置, package只管打包; install把打好的包放到了本地maven仓库;deploy是同时放到本地仓库和远程maven私服
这里本地仓库默认是 /root/.m2/repository/ ,具体配置在 ${M2_HOME}/conf/settings 的 localRepository 配置项决定。远程私服仓库一般是nexus,具体地址在项目的pom.xml中配置。比如
一般是进入父级目录之后执行
如果是多级目录的话,有时候并不一定是按照 具体的项目来 编译,比如
这个时候如果一个项目一个项目来编译会超级多,很繁琐,这里是按照 subparentproject 来编译,命令如下
有个注意的地方:
subparentproject 目录下的pom.xml文件中一定有类型如下的配置
1、需要安装插件 Extended Choice Parameter Plug-In 可以支持参数单选、多选
2、项目选择"自由风格",而不是maven编译
3、在“构建” -> "执行shell" 中编写 子模块编译脚本及其后续处理
具体配置如下图
“构建” -> "执行shell" 中的处理脚本
附加:
Linux Bash下字符串操作总结
‘叁’ 自动化部署工具jenkins,从此摆脱重复单调的工作
它是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
有了它你可以免除手工编译,发布代码,上线更容易。节省的时间你可以喝杯咖啡,放松一下 ^_^
道路千万条,熟悉第一条,我这里使用 Red Hat 家族衍生的 centos 上安装Jenkins。
这里可以下载rpm包: http://pkg.jenkins-ci.org/redhat/
也可以如下操作:
安装
将Jenkins存储库添加到yum repos,并从此处安装Jenkins。
安装稳定版
还有一个LTS YUM资源库的LTS版本线
安装Java
Jenkins需要Java才能运行,但默认情况下某些发行版不包含此内容。要安装Open Java Development Kit(OpenJDK),请运行以下命令:
安装完成后Jenkins 启动之前的注意事项
默认情况是Jenkins是使用Jenkins用户启动的,但这个用户目前系统并没有赋予权限,这里我们将启动用户修改为root;另外Jenkins默认端口是8080,这个跟tomcat的默认端口冲突,我们也修改一下默认端口。
找到 JENKINS_USER 和JENKINS_PORT ,修改为root和你需要的端口
启动/停止
注意:如果收到以下错误消息,请确保已安装Java:
Starting jenkins (via systemctl): Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details.[FAILED]
禁用防火墙
有关CentOS Java的重要说明
Jenkins需要Java才能运行,但yum install jenkins不强制已经安装了java。检查以确保您已通过运行安装了hava java java -version。为了进一步使CentOS用户感到困难,默认的CentOS版本的Java与Jenkins不兼容。Jenkins通常最适合使用Java的Sun实现,由于许可原因,它不包含在CentOS中。
如果您获得类似于以下内容的输出,则表示您使用的是Java的默认(GCJ)版本,该版本不适用于Jenkins:
要解决此问题,您可能需要删除GC的GCJ版本并安装Sun兼容版本。
如果收到上面的输出,请卸载默认的java:
然后在卸载Java之后(或者如果你根本没有安装Java那么开始)。您需要安装与Sun兼容的Java版本。最简单的方法是使用OpenJDK,它可以通过EPEL存储库获得(或者您可以直接从Oracle安装官方 RPM)。要安装OpenJDK,请运行以下命令:
根据您的CentOS版本,OpenJDK的软件包名称可能有所不同。使用yum search openjdk来检查包的名称。如果通过yum找不到OpenJDK,则可能需要安装EPEL yum存储库。安装后,您应该能够获得以下java -version输出:
Ok,到此jenkins安装完成。
接下来你可以在浏览器地址中输入Jenkins网址,如:IP:端口,将显示如下内容:
拷贝指定文件密码,进入用户自定义插件界面,建议选择安装官方推荐插件:
接下来是进入插件安装进度界面:
等待一段时间之后,插件安装完成,配置用户名密码:
OK,你可以使用jenkins来编译、发布你的代码了。oh,它支持从代码库中直接拉取代码,git、svn都支持。赶快使用你的Spring boot、go试试吧。
‘肆’ Jenkins 自动构建部署tomcat项目
Jenkins 是一个开源的、功能强大的应用程序,可持续集成并且持续交付项目。Jenkins自动构建项目的流程原理如下图所示:
用户通过将源码push到svn或者git等仓库上,然后Jenkins会定期pull检查仓库中的源码是否有变化。如发生变化则会重新构建测试项目并打包生成相应的文件存放在指定的目录,这过程中的完成情况可设置以邮件的形式反馈给管理员,并且管理员可登陆到Jenkins上查看相应项目的构建情况。接着项目构建成功后,Jenkins会把相应的项目包推送到指定的服务器上的指定目录下, 然后执行相应的命令进行项目的部署。
接着我们就来看看如何使用Jenkins完成tomcat项目的自动构建部署。
Jenkins的安装可参考: https://www.jianshu.com/p/f2da45e2bac7
在Jenkinsweb界面中的系统管理->系统配置 添加相应的SSH Servers:
如上图所示,添加相应的SSH Server的Ip、用户密码等信息,并设置远程主目录为根目录,也可以配置SSH key 实现免密认证访问。
因为本次实验中我需要构建 https://github.com/charliewch/game-of-life 此项目,因此在构建之前需要保证Jenkins能够连接上GitHub。此实验中,我的Jenkins运行在tomcat应用上,因此其运行用户为tomcat,所以需要使用tomcat用户生成相应的ssh key 然后设置到github 的 setting中。
把上述的id_rsa.pub内容复制粘贴到github的setting中的SSH and GPG keys上:
配置完成后,能够出现下述信息,说明tomcat 用户连接到github已经成功。
在系统管理->系统设置中找到下图的设置,并配置相关的邮件服务器信息
点击新建任务,输入项目名后选择构建一个自由风格的软件项目并确定保存。
在源码管理中添加git作为源码仓库。
设置轮询SCM为每15分钟轮询一次,此处的编写规则遵循crontab 任务的周期编写规则。
在构建增加调用顶层Maven模板的步骤,添加目标为clean package,用于将相应的java项目打包成war包,存放在target目录下。
在构建后的步骤中,新增Editable Email Notification,并在高级中配置触发邮件报警的条件:
此处设置的recipient List 为上一步设置的收件人列表
继续在构建后操作添加步骤:Send build artifacts over SSH
配置完成后点击保存即可
在Gameoflife任务的工作空间中,点击立即构建按钮触发新的构建,点击Build history可查看相应的构建情况:
另外在相应的构建任务中点击查看控制台输出,能够查看构建的结果及相应信息输出,有助于排查错误。
从下图看到,报警邮件也触发成功了。
最后,此时如果用户对修改相应的git仓库的中源码,在下一次git轮询Jenkins会自动触发相应的项目构建并进行推送部署,用户可查看相应的git轮询日志来查看轮询的情况。
‘伍’ jenkins是什么意思
我们在学习编程时会看到jenkins这个词,那么它哗茄族到底代表着什么呢?一起来了解一下吧。
Jenkins的含义
Jenkins是一款由Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目复刻。Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中。它支持软件配置管理工具,可以执行基于ApacheAnt和ApacheMaven的项目,以及任意的Shell脚本和Windows批处理命令。Jenkins的主要开发者是川口耕介。Jenkins是在MIT许可证下发布的自由软件。
总的来说,Jenkins是一款由Java编写的开纳姿源的持续集成工具,Jenkins的主要开发者是川口耕介。