安装(包括本地部署和服务器部署)
- 首先下载jenkins(https://jenkins.io/)最新的安装包。
- 运行jenkins,首先到项目所在目录找到jenkins.war文件,然后打开命令窗口,输入 java -jar jenkins.war,需要配置java环境(注意点,端口号默认为8080,当然运行之前可以在jenkin.xml中改端口号,以免冲突)
- 127.0.0.1:8080/进行访问,后续的登陆和注册用户的步骤系统会有提示,当然你可以直接将war放到某个服务器上,效果是一样的,跟着提示便可完成安装部署。
设置(包括系统设置和插件设置,关键得到两个设置)
登陆成功之后第一件事情就是安装插件,如果对jenkins不熟悉,就直接安装系统推荐的默认插件。后续有特殊需求的插件,可以手动安装。
- 系统设置(主要了解设置的作用)
-
系统文件(jenkins构建等操作后的所有的文件存放地址)和消息设置(广播)
-
maven项目设置
如果我们构建的是maven项目,构建的时候,会按照此配置来生成,包括jar地址
-
全局属性(键值对的形式,方便后面配置直接选择。相当于是项目的properties)
- 邮件通知设置(一般正常的邮箱是不可以发送通知的,可以点击测试看一下。如果不行,需配置邮箱的SMTP服务,163邮箱开通地址 http://help.163.com/10/0312/13/61J0LI3200752CLQ.html)
-
Publish over SSH设置(linux服务器连接地址,后面发布部署项目到linux服务器上需要)
点击高级之后,可以对你输入的地址进行测试!
- 全局插件设置
-
maven 设置(使用maven的默认配置,当然如果你有自己的配置,可以重新选择配置的文件的地址)
-
JDK设置、git设置、maven、Gradle、ANT、docker安装都是类似的,主要就是寻找安装的目录(当然,如果你本地并没有,可以选择自动安装,jenkins会为你自动安装好)
新建简单项目(来源:git、svn等托管工具)
新建项目,输入项目名,选择项目的类型,点击OK
比较关键的一步,项目的配置(普通设置,源码管理,构建触发器,构建环境,构建方式(脚本),构建后的操作)
-
项目的大体设置包括名称,描述和构建的方式
-
源码的来源,一般都是git和svn,选择不同的类型进行设置,如果需要账号密码的点击高级设置。
-
构建触发器(自动构建,手动构建),选择自己合适的触发器类型,Poll Scm指的是每隔多长时间进行更新。其他的看英语大家也能理解
- 构建环境
- 构建和构建设置
主要是项目的构建方式,当然如果是maven项目,构建文件一般为pom.xml,构建设置就是构建完成后的邮箱通知,但邮箱需要开通SMTP服务 -
构建后步骤(一般都是将项目包部署到服务器上,linux服务器加shell完成部署,Exec command指的是shell的地址)
-
构建完成后的主页,你可以对项目进行手动构建,点击项目可以查看这个项目的详情
自动化部署(将文件部署到远程tomcat上,war/ear+容器)
第一步-安装插件“Deploy to container Plugin”。重新启动Jenkins 服务器。当然我这边已经安装过了,所以搜索不到。
Tomcat 4.x/5.x/6.x/7.x
JBoss 3.x/4.x
Glassfish 2.x/3.x
第2步 − 转到生成项目,然后单击配置选项。在构建后操作选择选项 “Deploy war/ear to a container”,点击后需填写表单,配置没问题就可以大功告成了!
每个参数的作用
- WAR/EAR files:文件地址建议填写*/.war
- Context path:应用在Tomcat中的部署路径,也就是项目的访问路径
- Tomcat 7.x:(如果安装一直是next,那么你需要改动conf下面的tomcat-user文件才能登陆tomcat)
- Manager user name:tomcat账号
- Manager password:tomcat密码
- Tomcat URL:tomcat IP地址 x.x.x.x:8080
Jenkins持续部署(在一定条件下部署项目)
安装Delivery pipeline插件并重启
-
点击jenkins面板的+号,输入名称并选择Delivery Pipeline View(输送管道视图)
-
对Delivery pipeline进行设置,说明几个重要的设置点:
选中“Show static analysis results”。
选中“Show total build time”
为管道(Pipeline)输入名字,选择项目构建的顺序(比较重要,当然我们还要为finaljob 配置构建触发器)
-
查看管道的视图
分布式构建(缓解jenkins中央服务器的构建压力)
有时,如果有一个实例,它是一个更大,更重的项目,需要定期编译生成在许多计算机上。并运行所有这些构建了中央台机器上可能不是最好的选择。在这种情况下,人们可以配置其他Jenkins 机器是从机用来负载关闭主Jenkins服务器。
有时候,可能还需要几个不同的环境来测试你的构建。这种情况下使用从机来表示每一个请求的环境中,几乎是必须的。
从主机设置为从主分载构建项目,一旦安装后,这种任务分布是相当自动化的。确切的委托行为取决于每个项目的配置; 有些项目可能会选择“坚持”到特定的计算机的构建,而其他人可能会选择从机之间自由走动。
由于每个从运行一个称为“从代理”独立的程序,没有必要在从机上安装完整Jenkins(包或编译的二进制文件)。有多种方法来启动从机代理,但最终从机和Jenkins 主机需要建立一个双向通信链路(例如,TCP/IP套接字。),以便进行操作。
用户管理与安全
jenkins默认情况下所有的用户都有任意的权利,这也许并不符合规范,所以就会出现jenkins安全,给特定的用户配置特定的权利。
操作步骤
这边主要设置的是用户的权限,有多种选择。其他的安全设置看看也都能明白