Jenkins使用手册(2)——软件配置
目的
持续集成作为软件开发的一种实践,其快速且频繁集成的特性使得产品与项目可以保持高速迭代的同时还可以保持高质量。
而Jenkins作为一款优秀的开源持续集成工具,提供给了开发、测试、运维各个角色强大的自动化构建支撑。
测试作为持续集成中一个重要阶段,使用Jenkins来执行自动化测试的必要性已经不言而喻,利用Jenkins进行自动化的构建(编译、打包、部署、自动化测试)可以尽早的发现软件中的问题,对应测试左移来说,测试在项目阶段中的介入的越早,发现及修复问题的代价就越小。
接上回
上一篇文章中我们已经将Jenkins安装完成了,那接下来我们会对Jenkins做一些必要的基础配置。
初始化
第一次安装完Jenkins之后,我们需要在浏览器中访问该服务,地址为你安装的服务IP,端口默认为8080,如果在安装时修改过Jenkins的配置文件项,则填入对应的修改后端口号。

用户密码所在日志位置会根据你安装方式发生变更,具体的根据页面提示路径进行查找。
复制文件内的初始用户密码,回到初始页面中进行登录。

登录后会跳转到自定义Jenkins界面,在该界面中我们需要对Jenkins的相关插件进行选择与安装,一般来说如果有特定需要可以使用自定义安装插件,如果暂时不知道要安装什么插件可以选择推荐安装。后期需要安装什么插件都可以等待Jenkins配置完之后在进行安装。

这边就暂时先选安装推荐插件,点击后进入安装界面

插件安装完成后会跳转至创建管理员界面,这里我们可以创建全新的系统管理员,当然也可以直接使用admin用户继续之后的操作。

管理员创建完成后会进入实例配置界面

界面中会对实例做详细的解释,这里就不做赘述了。
Jenkins初始化完成

基础配置
如果使用的是admin用户,出于安全考虑可以先将用户密码进行修改
修改密码
选择管理Jenkins

在安全里选择管理用户

选择要修改密码的用户,点击小齿轮

修改密码后保存退出

系统邮件配置
一般在持续集成中,任何的正式自动化活动结果都应该通知至相关人员,配置系统邮件也是达成此目的的第一步。
在管理Jenkins中,选择系统配置

找到相关邮箱地址配置,填写邮箱地址

接下来安装Email Extension相关插件
在插件管理中搜索Email Extension并进行安装,安装完后适时重启服务。
再次进入Jenkins选择插件管理,打开已经安装完成的插件

如果已经安装了Email Extension Template Plugin,就先关闭这个插件,两个插件是互斥的。
安装完后在系统配置中找到邮件的扩展选项


SMTP server:服务器邮箱地址
SMTP Port:SMTP服务端口
Credentials:凭证(非必要,可跳过)
Use SSL:这里选择SSL协议即可
Use TLS:不勾
Advanced Email Properties:高级邮件属性,如无需要则不填
Default user e-mail suffix:默认的用户邮件后缀名,按需添加
在后面的一些Reply-To Address、Default Subject(接收地址收件地址与默认标题设置)等普通设置不再赘述,可以上网去搜。
设置完之后保存退出。
配置JDK
进入全局工具配置,找到JDK后点击新增JDK

我们之前已经安装过JDK了,所以需要取消自动安装

填入JDK的名称与JAVA_HOME的路径,路径可以在服务器内打印变量JAVA_HOME查看,命令为 echo $JAVA_HOME

配置Maven
与JDK相同的操作,点击新增Maven

取消自动安装

填入软件名与全局变量,保存并退出。

至此,以上都是Jenkins中最基本的配置操作,其实关于Jenkins还有很多很多的配置需要根据实际项目业务需求来进行配置,比如git、构建、脚本等等等等,但方法全都是大同小异,有兴趣的同学可以自己去网上搜索一下。后面的持续集成,我会从测试团队的角度出发,带着大家使用K8s+Jenkins来进行实战操作与讲解。
-
上一篇
Jenkins-weblogic的自动化部署
-
下一篇
这是一本非常理想的书,既适合CI/CD的新手,也适合使用 Jenkins 多年的老手。这本书将帮助你发现以及重新发现 Jenkins 中的未知世界。
—— Jenkins创始人 Kohsuke Kawaguchi
Jenkins 2的概念比较宽泛,在特定的上下文环境中,它用来泛指支持流水线即代码以及其他类似Jenkinsfile等新特性的新版Jenkins,这些新特性将始终贯穿Jenkins的新版。
其中的部分特性在 Jenkins 1.X 版本中已经通过插件的方式实现(确切地讲,Jenkins 2 也是通过对已有插件的重点升级和新插件的引入来获得新功能的)。但是 Jenkins 2 则更进一步,它将这些特性视为一种同 Jenkins 交互的核心方式,并且也是 Jenkins 推荐的方式。相比之前用户只能通过Web界面进行配置的方式来定义 Jenkins 任务,现在通过使用 Jenkins DSL 和Groovy 语言编写程序,用户可以定义流水线并执行各种任务。
这里提到的DSL代表领域特定语言(Domain-Specific Language),可以理解为一种适用于Jenkins的编程语言。DSL基于Groovy实现,并通过概念和结构封装了 Jenkins 的特定功能。举例来说,关键字 node 表示以编程方式来选择节点(也就是主节点和从节点),并且程序中的这部分功能将在该节点上执行。
Jenkins 和 Groovy:Jenkins 在很早之前就内建了Groovy引擎,并且通过这种方式允许高级脚本操作,提供Web界面上不可见的功能和访问权限。
DSL是Jenkins 2的核心组件,作为构建模块让其他核心的用户导向特性成为可能。让我们来大致看下这些特性如何使 Jenkins 2 区别于传统版本的 Jenkins。我们会快速体验一种全新的方式,将原本写在 Jenkins 中的代码提取到一个 Jenkinsfile 文件中,以一种更加结构化的方法来创建工作流——声明式流水线,同时还有一个更加令人兴奋的全新用户界面——Blue Ocean。
Jenkins2来了!Pipeline带你逃离黑洞