Jenkins 安装与部署详细教程
一、概述
Jenkins 的前身是 Hudson 是一个可扩展的持续集成引擎。Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
二、Jenkins安装前环境准备
1、操作系统CentOS7.X,并进行Java环境的安装,建议安装1.8版本以及更高版本。如果系统没有自带git,同时安装Git。
1)安装Java1.8版本,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 可以先下载好后,上传至Linux服务器。
[root@localhost data]# ls
jdk-8u181-linux-x64.tar.gz
[root@localhost data]# tar -zxvf jdk-8u181-linux-x64.tar.gz
[root@localhost data]# ls
jdk1.8.0_181 jdk-8u181-linux-x64.tar.gz
[root@localhost data]# vim /etc/profile
....................................
export JAVA_HOME=/data/jdk1.8.0_181/
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
....................................
[root@localhost data]# source /etc/profile //使环境变量生效。
[root@localhost data]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
2)安装Git插件
[root@localhost data]# yum install git
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00
extras | 2.9 kB 00:00
updates | 2.9 kB 00:00
(1/2): extras/7/x86_64/primary_db | 165 kB 00:00
(2/2): updates/7/x86_64/primary_db | 7.6 MB 00:01
正在解决依赖关系
--> 正在检查事务
---> 软件包 git.x86_64.0.1.8.3.1-20.el7 将被 升级
--> 正在处理依赖关系 git = 1.8.3.1-20.el7,它被软件包 perl-Git-1.8.3.1-20.el7.noarch 需要
---> 软件包 git.x86_64.0.1.8.3.1-21.el7_7 将被 更新
--> 正在检查事务
---> 软件包 perl-Git.noarch.0.1.8.3.1-20.el7 将被 升级
---> 软件包 perl-Git.noarch.0.1.8.3.1-21.el7_7 将被 更新
--> 解决依赖关系完成 依赖关系解决 ================================================================================
三、Jenkins安装
1、第一种安装方法
[root@localhost data]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
--2020-04-21 09:01:53-- https://pkg.jenkins.io/redhat-stable/jenkins.repo
正在解析主机 pkg.jenkins.io (pkg.jenkins.io)... 52.202.51.185
正在连接 pkg.jenkins.io (pkg.jenkins.io)|52.202.51.185|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:85
正在保存至: “/etc/yum.repos.d/jenkins.repo” 100%[=========================================================================>] 85 --.-K/s 用时 0s 2020-04-21 09:01:54 (19.3 MB/s) - 已保存 “/etc/yum.repos.d/jenkins.repo” [85/85]) [root@localhost data]# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
[root@localhost data]# yum install jenkins
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
jenkins | 2.9 kB 00:00:00
jenkins/primary_db | 32 kB 00:00:01
正在解决依赖关系
--> 正在检查事务
---> 软件包 jenkins.noarch.0.2.222.1-1.1 将被 安装
--> 解决依赖关系完成 依赖关系解决 ===================================================================================================================
Package 架构 版本 源 大小
===================================================================================================================
正在安装:
jenkins noarch 2.222.1-1.1 jenkins 63 M 事务概要
===================================================================================================================
安装 1 软件包 总下载量:63 M
安装大小:63 M
Is this ok [y/d/N]: y
Downloading packages:
^Cnkins-2.222.1-1.1.noarch.rpm 7% [== ] 21 kB/s | 4.7 MB 00:48:13 ETA
2、第二种安装方法。在Jenkins网站将稳定版本的RPM包下载后,上传至Linux服务器。
[root@localhost data]# rpm -ivh jenkins-2.222.1-1.1.noarch.rpm
准备中... ################################# [100%]
正在升级/安装...
1:jenkins-2.222.1-1.1 ################################# [100%]
1)注意:上述两种方法安装Jenkins后,需要配置环境变量,否则在启动时会出现报错。
[root@localhost data]# vim /etc/sysconfig/jenkins
...................
JENKINS_PORT="8080" //修改监听端口8080 JENKINS_USER="root" //为了不因为权限出现各种问题,这里面直接修改Jenkins为root权限 并修改文件权限。
....................
[root@localhost data]# chown -R root:root /var/lib/jenkins/
[root@localhost data]# chown -R root:root /var/cache/jenkins/
[root@localhost data]# chown -R root:root /var/log/jenkins/
2)现在启动Jenkins会出现报错信息:
[root@localhost data]# service jenkins restart
Restarting jenkins (via systemctl): Job for jenkins.service failed because the control process exited with error code. See "systemctl status jenkins.service" and "journalctl -xe" for details.
[FAILED]
pathmunge /usr/sbin after [root@localhost data]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since 二 2020-04-21 09:13:09 CST; 10s ago
Docs: man:systemd-sysv-generator(8)
Process: 3096 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE) 4月 21 09:13:09 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automation Server...
4月 21 09:13:09 localhost.localdomain runuser[3101]: pam_unix(runuser:session): session opened for user roo...d=0)
4月 21 09:13:09 localhost.localdomain jenkins[3096]: Starting Jenkins bash: /usr/bin/java: No such file or ...tory
4月 21 09:13:09 localhost.localdomain runuser[3101]: pam_unix(runuser:session): session closed for user root
4月 21 09:13:09 localhost.localdomain jenkins[3096]: [FAILED]
4月 21 09:13:09 localhost.localdomain systemd[1]: jenkins.service: control process exited, code=exited status=1
4月 21 09:13:09 localhost.localdomain systemd[1]: Failed to start LSB: Jenkins Automation Server.
4月 21 09:13:09 localhost.localdomain systemd[1]: Unit jenkins.service entered failed state.
4月 21 09:13:09 localhost.localdomain systemd[1]: jenkins.service failed.
test -e "$JENKINS_CONFIG" || { echo "$JENKINS_CONFIG not existing";
Hint: Some lines were ellipsized, use -l to show in full.
3)问题主要原因是Starting Jenkins bash: /usr/bin/java: No such file or ...tory,Java环境变量。
[root@localhost data]# which java
/data/jdk1.8.0_181/bin/java
[root@localhost data]# vim /etc/init.d/jenkins
.................................
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-11.0/bin/java
/usr/lib/jvm/jre-11.0/bin/java
/usr/lib/jvm/java-11-openjdk-amd64
/data/jdk2.8.0_181/bin/java //将Java路径添加此处
".....................................
[root@localhost data]# source /etc/profile
[root@localhost data]# source /etc/profile
[root@localhost data]# systemctl restart jenkins.service
Warning: jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.
[root@localhost data]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
Active: active (running) since 二 2020-04-21 09:19:33 CST; 4s ago
Docs: man:systemd-sysv-generator(8)
Process: 3479 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/jenkins.service
└─3503 /data/jdk1.8.0_181/bin/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKI... 4月 21 09:19:32 localhost.localdomain systemd[1]: Starting LSB: Jenkins Automation Server...
4月 21 09:19:33 localhost.localdomain runuser[3484]: pam_unix(runuser:session): session opened for user roo...d=0)
4月 21 09:19:33 localhost.localdomain runuser[3484]: pam_unix(runuser:session): session closed for user root
4月 21 09:19:33 localhost.localdomain jenkins[3479]: Starting Jenkins [ OK ]
4月 21 09:19:33 localhost.localdomain systemd[1]: Started LSB: Jenkins Automation Server.
Warning: jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units.
Hint: Some lines were ellipsized, use -l to show in full.
4)安装完成后,设置开机自动启动,需要知悉Jenkins相关默认路径
[root@localhost ~]# ll /usr/lib/jenkins/ //Jenkins war包
总用量 64736
-rw-r--r-- 1 root root 66288019 3月 25 22:13 jenkins.war
[root@localhost ~]# vim /etc/sysconfig/jenkins //配置文件:端口、权限 Jenkins HOME路径等
[root@localhost ~]# ls /var/lib/jenkins/ //Jenkins HOME路径
com.cloudbees.hudson.plugins.folder.config.AbstractFolderConfiguration.xml logs
config.xml nodeMonitors.xml
hudson.model.UpdateCenter.xml nodes
hudson.plugins.git.GitTool.xml plugins
identity.key.enc queue.xml.bak
jenkins.install.InstallUtil.lastExecVersion secret.key
jenkins.install.UpgradeWizard.state secret.key.not-so-secret
jenkins.model.JenkinsLocationConfiguration.xml secrets
jenkins.security.apitoken.ApiTokenPropertyConfiguration.xml updates
jenkins.security.QueueItemAuthenticatorConfiguration.xml userContent
jenkins.security.UpdateSiteWarningsConfiguration.xml users
jenkins.telemetry.Correlator.xml workflow-libs
jobs
[root@localhost ~]# ll /var/log/jenkins/jenkins.log //Jenkins日志文件
-rw-r--r-- 1 root root 56355 4月 21 13:53 /var/log/jenkins/jenkins.log
3、第三种安装方法
第三种安装方法是安装Tomcat,下载Jenkins war包,放入Tomcat内进行启动加载。本次不进行安装测试了。
四、Jenkins基本配置
1、本地使用http://IP:8080 访问Jenkins,会进入初始部署,选择推荐的插件安装。
执行下述命令查看初始密码。
[root@localhost lib]# cat /var/lib/jenkins/secrets/initialAdminPassword
cedc48233e8e4a958b77f11c59c42d65
2、安装推荐插件
登录Jenkins进行更深次的学习吧。
-----------------------------------------------------------书山有路勤为径,学海无涯苦作舟-------------------------------------------------------------
Jenkins 安装与部署详细教程的更多相关文章
- linux安装 Android Studio详细教程,支持性较差,需要安装最新底层库内核的linux
安装 Android Studio详细教程 libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1 jdk1.8.0_25 android-st ...
- Anconda 3.7安装以及使用详细教程
Anconda 3.7安装以及使用详细教程 2019-04-17 22:42:03 一.下载anconda 3.7 链接地址:官方地址 二.安装 双击下载好的Anaconda3-2019.03- ...
- Deepin系统手动安装oracle jdk8详细教程
Deepin系统手动安装oracle jdk8详细教程 oracle官网下载jdk压缩包,使用 sudo tar -zxf jdk***解压文件,我放在在了home/diy/java/jdk路径下. ...
- MySQL5.7免安装版配置详细教程
MySQL5.7免安装版配置详细教程 一. 软件下载 Mysql是一个比较流行且很好用的一款数据库软件,如下记录了我学习总结的mysql免安装版的配置经验,要安装的朋友可以当做参考哦 mysql5.7 ...
- 在linux下安装配置rabbitMQ详细教程
在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...
- Windows(x86,64bit)升级MySQL 5.7.17免安装版的详细教程
MySQL需要升级到5.5.3以上版本才支持Laravel 5.4默认的utf8mb64字符编码.因此就把MySQL升级了一下,期间还是遇到些小问题,记录一下以供参考. 升级准备 备份之前MySql目 ...
- Git下载安装及设置详细教程
Git下载安装及设置详细教程 一.安装前准备 1. 廖雪峰老师Git教程 :推荐Git入门教程. 2. 按照自己的系统版本下载Git软件,我的操作系统:Windows7 64位,安装版本为Git ...
- Linux上centOs6+安装mysql5.7详细教程 - 前端小鱼塘
https://coyhom.github.io/ 人类的本质是复读机,作为一个非linux专业人员学习linux最好的办法是重复 环境centos6.5 版本5.7 1: 检测系统是否自带安装mys ...
- 虚拟机安装Centos7.5详细教程
VMware15.5虚拟机安装CentOS7.5详细教程 (前言)软件下载 需要VMware15.5软件和密匙的小伙伴可以从此地址下载:https://pan.baidu.com/s/1A8H ...
随机推荐
- ctfshow—web—web4
打开靶机 发现与web3很相似,测试文件包含未成功 此题有两种解决方法 一.日志注入 查看日志的默认目录,得到了日志文件 ?url=/var/log/nginx/access.log 进行日志注入 & ...
- [从源码学设计]蚂蚁金服SOFARegistry之配置信息
[从源码学设计]蚂蚁金服SOFARegistry之配置信息 目录 [从源码学设计]蚂蚁金服SOFARegistry之配置信息 0x00 摘要 0x01 业务范畴 1.1 配置作用 1.2 学习方向 0 ...
- 我在华为OD的275天
目录 0 - 时间线 1 - 为什么会去华为 OD 2 - 华为 OD 的工作内容 3 - OD 与华为自有员工的对比 4 - 那,到底要不要去华为 OD? 5 - 网传的 OD 转华为正编,真的假的 ...
- web框架的本质:
简单的web框架 web的应用本质其实就是socket服务器,用户所使用的浏览器就是一个cocket客户端,客户使用浏览器发送的请求会被服务接收,服务器会按照http协议的响应协议来回复请求,这样的网 ...
- 图像分类学习:X光胸片诊断识别----迁移学习
引言 刚进入人工智能实验室,不知道是在学习机器学习还是深度学习,想来他俩可能是一个东西,查阅之后才知道这是两个领域,或许也有些交叉,毕竟我也刚接触,不甚了解. 在我还是个纯度小白之时,写下这篇 ...
- 全栈性能测试修炼宝典-JMeter实战笔记(一)
了解性能测试 性能测试不仅能够定位.分析问题,还要把握系统性能变化趋势:性能测试工程师能够帮助解决性能问题,搞定测试过程中的各种不合理配置,给出专业的优化建议. 第一章 性能方向职业发展 软件测试职业 ...
- centos7 centos-home 磁盘空间转移至centos-root下
亲测可用,转载是为了记录,方便下次自己查看,如后朋友看到,请去查看作者原文,支持原创!!! 原文连接:https://www.cnblogs.com/renshengruxi/p/11782980.h ...
- Redis持久化之RDB和AOF
Redis是一个键值对数据库服务器,由于Redis是内存数据库,那么有很多内存的特点,例如掉电易失,或者进程退出,服务器中的数据也将消失不见,所以需要一种方法将数据从内存中写到磁盘,这一过程称之为数据 ...
- OAuth2.0是干什么的?
OAuth2.0是干什么的? 首先用户有一些数据: 将数据存储在服务器上: 这时候有一个应用要访问数据: 如果这个应用是一个恶意程序呢?所以需要一个检验来判断请求是不是安全的: 如何判断是不是安全的? ...
- 在QML 中用javascritpt 将中文转换拼音,可以在音标
项目需要, 今天整理了一下.在QML调用javascrit将中文汉字转换成拼音. 感觉执行效率低.下面是主要代码. 具体代码请参考QMLPinyin 代码 ```import "./piny ...