Jenkins安装部署与使用

一、Jenkins介绍

1、作为一个可扩展的自动化服务器,Jenkins 可以用作简单的 CI 服务器,或者变成任何项目的持续交付中心。
2、Jenkins 是一个基于 Java 的独立程序,可以立即运行,包含 Windows、Mac OS X 和其他类 Unix 操作系统。
3、Jenkins 可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。
4、通过更新中心中的 1000 多个插件,Jenkins 集成了持续集成和持续交付工具链中几乎所有的工具。
5、Jenkins 可以通过其插件架构进行扩展,从而为 Jenkins 可以做的事提供几乎无限的可能性。
6、Jenkins 可以轻松地在多台机器上分配工作,帮助更快速地跨多个平台推动构建、测试和部署。
官网-中文版
镜像

二、Jenkins部署

1、配置java环境
(1)配置jdk环境

tar xf jdk-8u212-linux-x64.tar.gz    #解压jdk文件
ln -sv /usr/local/src/jdk1.8.0_212/ /usr/local/jdk    #配置软链接,方便之后jdk版本升级
ln -sv /usr/local/src/jdk1.8.0_212/bin/java /usr/bin    #jenkins需要在/usr/bin中使用java命令,要不然会报错

(2)修改环境变量

vim /etc/profile    #修改环境变量
export HISTTIMEFORMAT="%F %T `whoami` "    #修改history命令的输出,添加时间和用户
export export LANG="en_US.utf-8"
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile    #加载环境变量

2、安装jenkins
(1)直接war包启动(生产中不建议)

java -jar jenkins-2.164.3.war --help  #启动jenkins的war包可以添加的配置项

(2)使用tomcat启动(生产中不建议)
将jenkins的war包上传到tomcat指定的目录,再将tomcat启动即可
(3)deb文件或者rpm包安装
1》安装jenkins

dpkg -i jenkins_2.346.3_all.deb
apt-get install -y daemon net-tools  #jenkins进程运行依赖daemon进程


vim  /etc/default/jenkins  #安装高版本的jenkins配置文件修改后不生效,直接修改/usr/lib/systemd/system/jenkins.service文件
JAVA_ARGS="-Djava.awt.headless=true 
-server -Xms1g -Xmx1g -Xss512k -Xmn1g \
-XX:CMSInitiatingOccupancyFraction=65 \
-XX:+UseFastAccessorMethods \
-XX:+AggressiveOpts -XX:+UseBiasedLocking \
-XX:+DisableExplicitGC -XX:MaxTenuringThreshold=10 \
-XX:NewSize=2048M -XX:MaxNewSize=2048M -XX:NewRatio=2 \
-XX:PermSize=128m -XX:MaxPermSize=512m -XX:CMSFullGCsBeforeCompaction=5 \
-XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -XX:+UseParNewGC \
-XX:+CMSParallelRemarkEnabled -Djava.awt.headless=true \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=12345 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname="192.168.43.112""

JENKINS_USER=root  #jenkins要有权限去获取代码
JENKINS_GROUP=root

systemctl start jenkins

2》登录浏览器开始配置


密码验证

3》安装插件
如果没有特殊的要求,可以先按照推荐的插件进行安装


安装插件

如出现下述情况,可以先继续安装,之后在进行安装(jenkins的版本低,需要升级jenkins的版本)
安装失败

4》创建管理员用户


创建用户

5》实例配置
保存默认的实例就行,修改以后可能会出现问题
实例配置

6》开始使用
使用

3、jenkins的使用
(1)jenkins版本的升级
系统管理

升级版本

jenkins版本的升级也可以在官网下载好war包文件,然后将/usr/share/java/jenkins.war文件替换
(2)jenkins插件安装


插件安装
安装重启
安装

(3)jenkins用户管理
安装好jenkins后,添加的用户权限都和管理员的权限一样,容易出现问题,所以需要使用插件Role-based Authorization Strategy
1》首先安装插件


安装插件

2》创建新用户
首页---》系统管理---》管理用户


新建用户

3》修改授权策略
首页---》系统管理---》全局安全配置
修改授权策略

4》创建角色
在上面的一步应用保存后,系统管理中会出现一个新的选项
新选项

生成新角色

添加新角色

新角色添加权限

5》分配角色


分配角色

绑定角色

(4)jenkins的邮箱管理
首页---》系统管理---》全局配置
1》配置管理员邮箱,当jenkins出现问题时,会进行邮箱通知
管理员邮箱

2》发送邮箱(可使用163或者qq邮箱)
发送邮箱

(5)jenkins配置免秘钥拉取代码
1》生成秘钥
root@jenkins:/home# su - jenkins
jenkins@jenkins:~$ ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/home/jenkins/.ssh/id_rsa): 
Created directory '/home/jenkins/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/jenkins/.ssh/id_rsa
Your public key has been saved in /home/jenkins/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:EduV9mXtedAueJFVJ28nwtAjgTTqg2+48cUS6iZC9nQ jenkins@jenkins
The key's randomart image is:
+---[RSA 3072]----+
|       .+.oo...+*|
|       ..=.+= +o*|
|      . o .oo+.B=|
|     o   .  ..++=|
|    . + S    . ..|
| o . E +         |
|o o = + o        |
|. .o.= o         |
| . oo .          |
+----[SHA256]-----+
jenkins@jenkins:~$ ls .ssh/
id_rsa  id_rsa.pub

2》gitlab添加公钥


设置

ssh秘钥

粘贴jenkins的公钥

3》jenkins配置私钥
首页---》系统管理---》Manger Credentials


配置jenkins

全局凭据

添加私钥

4》jobs中配置秘钥
修改job配置

gitlab仓库

配置git仓库

job中配置私钥时,可能会出现报错信息,是因为在两台虚拟机上第一次使用秘钥进行克隆时,需要进行确认,确认完之后就正常了


连接git仓库报错

报错原因

(6)构建简单的job
1》jenkins实现免秘钥连接web服务器(执行用户命令使用的是jenkins账户)

su - jenkins
ssh-keygen
ssh-copy-id -i /home/jenkins/.ssh/id_rsa.pub www@192.168.43.111

2》配置job


配置job
cd /var/lib/jenkins/workspace/linux
tar czvf code.tar.gz index.html
scp code.tar.gz www@192.168.43.111:/data/tomcat/tomcat_appdir/

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

推荐阅读更多精彩内容