Jenkins系列(一)——Jenkins的安装和常见配置

前言

本篇文章主要是讲怎么在Linux环境下下载Jenkins应用、常见的配置以及可能会遇到的小坑,话不多说,看正文。

想要了解更多Jenkins系列的文章,可以参考如下链接:
Jenkins系列(二)——触发点和构建环境的介绍
Jenkins系列(三)——关于通用配置(General模块)的介绍

一、Jenkins使用前提

需要本地有JDK1.8以上的java版本,测试服务器上是否已经安装了Java,可以用下面这条命令

java -version

需要注意的是,如果你下载的jenkins版本是1.612以下的,那么JDK1.7版本的应该也是可以的。

二、Jenkins的安装

(1)下载Jenkins

Jenkins的安装其实可以直接去官方网站就可以看到官方推荐的安装方式了:
https://pkg.jenkins.io/redhat-stable/

Jenkins官网

也可以根据我下面的命令来进行安装:

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reposudo 
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install 

当然了,除了命令行操作下载外,直接在官网上手动下载对应操作系统的软件包也是推荐的选择 官网下载地址

(2)修改Jenkins端口

跟着上面的步骤安装成功后我们再来修改一下jenkins的启动端口,由于jenkins的默认端口是8080,可能会跟其他应用冲突,而且暴露在8080端口上也不太安全,所以这里我们还是选择修改一下:

vim /etc/sysconfig/jenkins
修改jenkins端口号
(3)启动Jenkins

输入如下命令,即可启动Jenkins

service jenkins restart

注意,如果你的JDK的存放路径和Jenkins默认配置的jdk路径不符的话,上面的命令是会执行失败的:


jenkins启动失败

遇到这种情况,我们需要修改一下Jenkins的配置文件,加入我们本地的jdk路径

vim  /etc/init.d/jenkins
修改Jenkins读取JDK的配置

修改完成后,执行下面两条命令即可启动Jenkins了

# 刷新配置
systemctl daemon-reload
# 重启jenkins
service jenkins restart

启动成功后,我们就可以登录上面我们的Jenkins了。需要注意的是,初次登录的话,需要验证密码和初始化账户,这里的话根据页面提示来就行。然后按照插件的话,建议根据Jenkins推荐的插件来安装就行。

Jenkins

三、在控制台进行jenkins服务的重启、关停、重新加载配置

## exit to shutdown jenkins 
http://ip:jenkins_port/exit

## restart to restart jenkins 
http://ip:jenkins_port/restart

## reload to reload the configuration
http://ip:jenkins_port/reload

四、常见配置项

(一)系统通用配置

对于jenkins的通用配置(不含凭证配置),我们基本上可以在Manage Jenkins -> System Configuration -> Configure System/Global Tool Configuration这两个入口中进行配置。这里有2个需要注意的点:

  • 不同版本的jenkins对于此处的布局会有不一致的地方,但是基本上配置的地方都是在Manage Jenkins -> System Configuration 里面的
  • Configure System主要用来配置系统级别的配置,比如jenkins的主目录、邮件配置、通用的环境变量以及其他公共的通用配置等,而Global Tool Configuration主要用来配置常用依赖项,比JDK、Maven、Git等工具,对不同的任务来说,我们有时候会需要用不同版本的工具来进行构建,因此多版本的依赖项我们需要在Global Tool Configuration页面中进行配置,这样后续在定义任务的时候才可以选择。

相对来说,我们使用Configure System的频次会更高一些,毕竟Global Tool Configuration

image.png
(二)系统凭证配置

jenkins的凭证配置相对来说是比较复杂的,让我们来从凭证类型开始说起,Jenkins可以存储以下类型的credentials:

  • Secret text - API token之类的token (如GitHub个人访问token)
  • Username and password - 可以为独立的字段,也可以为冒号分隔的字符串:username:password(更多信息请参照 处理 credentials)
  • Secret file - 保存在文件中的加密内容
  • SSH Username with private key - SSH 公钥/私钥对
  • Certificate - a PKCS#12 证书文件 和可选密码
  • Docker Host Certificate Authentication credentials.
    一般来说,我们用的比较多的就是用户名密码SSH 公钥/私钥对,前者用于各种场景的账号验证,后者用于ssh执行shell脚本。

下面我们来说一下如何配置和使用一个凭据,首先我们先进入到凭据的配置入口,一般来说是位于左侧菜单的“凭据”入口,不过高版本jenkins的凭证入口有所改动,要在Manage Jenkins -> Security -> Credentials/Credentials Providers(相当于是把原先的入口更加细致化的拆分为2个模块出来),前者的用于配置具体的凭证内容,后者用于配置jenkins支持的凭证类型。一般来说,我们最常用的就是前者了,后者一般是用的默认配置。

低版本的jenkins凭据入口在菜单的左侧
高版本的jenkins凭据入口

接着我们进入系统域下配置一个全局的凭证,


image.png
  • 关于范围
    范围是指这个凭证可以在哪些场景下使用,如果选择的是global的话,那么基本上所有用到用户密码类型的凭证时,都会把我们新建的凭证作为选项之一,而如果选择System的话,那么只有jenkins配置通用系统配置的时候,凭证才是可见的,这样就可以在一定程度上保证凭证的安全性。(为什么说可以保证凭证的安全性呢?因为pipeline脚本以及其他插件其实是有可能导致我们任务在执行的过程中把凭证信息暴露的,而如果本身你已经确定凭证就是只有系统级别的配置才会用到,那么可以考虑在一开始的时候就配置正确的生效范围)
  • 关于ID
    这里建议是按规范起一个ID名称,方便后续管理的凭证的时候知道我们这个凭证的作用,如果不填的话默认会生成一个UUID
    (ID不填的话,那么描述就不能再偷懒了,不然后续时间一长管理起来就会比较头痛)
  • 关于是否加密用户名
    如果勾选了这个选项的话,那么在查看下拉框选项时,就对用户名/密码不可见了,下拉框选项中只会展示描述,如果描述没填的话就会展示ID,所以如果本身描述没有填,ID又不按规范自定义的话,自己在选择凭证的时候也会比较混乱。
配置用户密码类型的凭证
描述没填,就会默认展示ID字段的值

小结

个人感觉jenkins工具十分全面,业内的支持度和使用也很广,是一个值得学习的集成工具,但大而全也就意味着相对比较复杂,初次接触jenkins可以尝试配置里面的一些功能,了解常用的配置项都在那里,以及不同模块配置的位置,会对熟悉这个工具有很大的帮助。
然后总的来说,凭证是jenkins中一个比较重要的模块,通用性很强,所以jenkins把凭证进行统一管理,方便不同的可配置项可以复用,其实也是一种复用思想的体现。

参考文章
Jenkins官方文档:https://www.jenkins.io/zh//doc/book/using/using-credentials/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,427评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,551评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,747评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,939评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,955评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,737评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,448评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,352评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,834评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,992评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,133评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,815评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,477评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,022评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,147评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,398评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,077评论 2 355