centOS下jenkins
转:centos7搭建jenkins小记
转自:https://segmentfault.com/a/1190000007086764
安装java环境
1.查看服务器版本
centos7,继续。
cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
2.安装java
yum install java
但对于centos有个问题,不可以安装成gcj(GNU Compiler for the Java Programing Language),导致jenkins不工作,如果查看java版本类似如下,需要卸载,安装其他版本
java -version
java version "1.5.0"
gij (GNU libgcj) version 4.4.6 20110731 (Red Hat 4.4.6-3)
3.卸载异常版本:
yum remove java
4.搜索openJDK版本
yum search openjdk
#java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
#java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
#java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
...
5.安装openJDK
#安装`1.8.0`的
yum install java-1.8.0-openjdk
6.查看java版本
java -version
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
安装jenkins
可以选择安装LTS Release版本,好像每半年迭代一次。或者Weekly Release,每一周或者两周更新一次。
最近的版本2.24隔了两个礼拜,估计10月9号会发布最新为2.25,每个版本会有一些enhancement & bug fix。
1.拉取库的配置到本地对应文件
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
jenkins.repo内容是这样:
[jenkins]
name=Jenkins-stable
baseurl=http://pkg.jenkins.io/redhat-stable
gpgcheck=1
2.导入公钥
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
3.安装jenkins
#`-y`参数:回答全部问题为是
sudo yum -y install jenkins
基本安装完成。
顺便贴一下LTS安装指令,只是稍有不同:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins
4.更新jenkins
yum update jenkins
熟悉jenkins配置
1.系统配置文件
cat /etc/sysconfig/jenkins | more
可以获得几个重要配置项目信息
JENKINS_HOME="/var/lib/jenkins",存放jenkins 配置及工作文件JENKINS_PORT="8080",jenkins默认8080端口
2.配置文件夹
这个位置挺重要
ls /var/lib/jenkins
有jobs、logs、plugins等文件夹及文件若干。勿乱删
这次主要看了看plugins文件夹,所有插件都在里面,如插件ssh-slaves,会有一个ssh-slaves文件夹及ssh-slaves.jpi。
当某个插件未安装成功时,会有一个以.tmp结尾的文件
3.日志
logs相关两个位置:
/var/lib/jenkins/logs有logs,暂时看来没记录啥,以后再追。/var/log/jenkins/jenkins.log,记录了插件安装等日志,失败信息原因等很清晰,重要
启动&配置
1.启动服务
service jenkins start
2.浏览器访问
IP地址:8080
3.获取管理员密码
按提示,去/var/lib/jenkins/secrets/initialAdminPassword,复制贴进去,continue
4.选择安装方式
默认推荐吧,左边的。第二个自定义插件,如果知道需要什么插件,插件都是干嘛的,再选custom吧
5.等待插件安装
如果正常,没啥说的。如果像这样,一些插件失败了,刷新页面,下一步。失败的插件后来再装。
6.插件安装失败分析
这里贴一个相似的ISSUE,unsolved,就我个人遇到的可能有网络的原因
查看jenkins.log,搜索failed关键字,一些插件依赖credentials,因为网络原因没安装成功credentials,导致好几个没安装成功。
去jenkins管理界面手动安装吧
Caused by: java.io.IOException: Plain Credentials Plugin v1.3 failed to load.
- credentials v2.1.5 is missing. To fix, install v2.1.5 or later.
7.手动安装异常插件
系统管理 -> 管理插件 -> 可选插件,表格右上异步过滤,插件打勾,直接安装。安装插件就在这里安装。

注意
异常插件处理的时候,这里需要注意插件之间的依赖关系,A插件依赖的B插件没安装成功,安装A之前先安装B,管理插件里的异常列表写的很清楚。
7》jenkins执行shell权限
7.1>将jenkins账号分别加入到root组中
gpasswd -a root jenkins
7.2修改/etc/sysconfig/jenkins
JENKINS_USER=root
JENKINS_GROUP=root
7.3>重启jenkins
service restart jenkins
8>ssh远程部署
8.1>安装ssh插件,在系统配置-》插件管理

8.2>构建ssh公钥和秘钥
参考:https://blog.csdn.net/guofeng526/article/details/48846975
8.2.1>查看是否安装ssh

这是centos7系统,一般来说系统已经集成了.
8.2.2>生成秘钥公钥
ssh-keygen -t rsa
然后一直回车下去,看到完成提示。
一般来说公钥和秘钥默认会放在/root/.ssh/目录下

8.2.3>将公钥注册到目标服务器中
ssh-copy-id -i /root/.ssh/id_rsa_pub root@xxx.xxx.xxx.xxx
等待输入密码提示,输入完成后可以直接用ssh root@xxx.xxx.xxx.xxx登陆到目标服务器。(登陆后用exit退出)
8.3系统配置中配置SSH账号信息

参数说明:
passphrase -- 在生成ssh-keygen时候没有填,这里就不要填。
Path to key
Key 这两个选其一即可,一个是私钥的存放路径,另一个是将key内容贴进去.
SSH server就是填写目标服务器内容
Name 随便写,按照自己能看懂
Hostname 和username 就是登陆地址和用户名
Remote Dirctory就是登陆后默认的工作目录
如果刚才用ssh-copy-id命令将公钥注册了,那么这里点击"Test Configuration"会提示连接成功
8.4>构建时候配置(Post-build)

选择构建后通过ssh发布到远程服务器

参数说明
Source files: **/* 表示将工作目录下所有内容拷贝到远程服务器.如果要指定就用**/erp/*.jar
Remove prefix : 这里一般写"."表示当前目录
Remot directory: 这里是相对于在系统配置的目录,不能以'/'开头,截图中实际路径表示: 配置RemoteDirectory+构建RemoteDirectory = /home/tfx/res/
Exec : 指shell脚本
9>Git配置
如果本地机器的Git没有安装在常规位置,比如/usr/bin等等,那你必须在系统管理->全局工具管理下指定安装位置:(如下图)

卸载jenkins
在某次自动安装插件时异常了一大片,刷新也没出现下一步,等待许久无果,删了重装
1.rpm -e jenkins
2.会有一些残留的文件分散在各地
find / -iname jenkins | xargs -n 1000 rm -rf
centOS下jenkins的更多相关文章
- CentOS 下 jenkins 安装
前置条件 jdk 和 maven 都配置好的环境,不赘述. 下载安装文件 选择一个 rpm 包 http://pkg.jenkins-ci.org/redhat/ 完成后执行命令 sudo rpm - ...
- [Jenkins]CentOS7下Jenkins搭建
最近在倒腾Kubernetes的一些东西,这次需要用到Jenkins来实现自动化构建.来讲一讲搭建的整个过程. Jenkins是什么 Jenkins提供了软件开发的持续集成服务.它运行在Servlet ...
- CentOS下Docker与.netcore(四)之 三剑客之一Docker-machine+jenkins简单自动化部署
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...
- Docker在Centos下使用Dockerfile构建远程Tomcat和Jenkins镜像
镜像构建准备环境原料 构建CentOS Docker tomcat镜像 Dockerfile文件内容: FROM centos:latest MAINTAINER boonya <boonya@ ...
- CentOS下Docker与.netcore(五)之 三剑客之一Docker-swarm集群
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...
- CentOS下Docker与.netcore(三)之 三剑客之一Docker-Compose
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...
- CentOS下Docker与.netcore(二) 之 Dockerfile
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...
- CentOS下Docker与.netcore(一) 之 安装
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...
- Linxu下jenkins部署和基本配置
一.OpenJdk1.8安装(tomcat 和 jenkins都依赖与java) ubuntu apt-cache search openjdk #使用apt-cache搜索可以直接使用 ...
随机推荐
- RobotFramework特性总结
robotframework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时编写多种类型的客户端或者接口,可以进行分布式测试执行.主要用户轮次很多的验收测试和验 ...
- override和overload的小笔记
override是覆盖的意思,也就是我们的重写.可以重写覆盖父类的方法,然后实现接口的方法也可以叫做override. 几个要注意的点: 重写一定要用和被重写方法同样的方法名还有参数列表. 抛出的异常 ...
- nodejs 学习(4) express+mongoose
一.关于安装和启动: 1.设置环境变量:D:\Program Files\MongoDB\bin 2.启动时需要cd到bin 目录,然后 mongod --dbpath "D:\mongdb ...
- HDU 3117 Fibonacci Numbers 数学
http://acm.hdu.edu.cn/showproblem.php?pid=3117 fib是有一个数学公式的. 这里的是标准的fib公式 那么fib = 1 / sqrt(5) * ((1 ...
- C/C++程序员应聘常见面试题深入剖析(1)
摘自:http://blog.csdn.net/zhoudengqing 1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵.文中的大多数面试题来自各大论 ...
- vue之导入Bootstrap和Jquery
Vue引入bootstrap主要有两种方法 方法一:在main.js中引入,此方法导入的bootstrap中对于html,body的一些预设置的css样式可能无效. 一.引入jQuery 在当前项目的 ...
- JavaScript之执行环境及作用域
执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中.我们编写的代码是无法访问这个对象的,但解 ...
- 初识react中的状态量
react组件中的两类状态数据:props,state,官网API给出的使用规范,多读几遍,受益匪浅: 结论: 1. 对应任何可变的数据,理应只有一个单一“ 数据源 ” 2. 如果多个组件均需要这些数 ...
- iOS UITextView placeHolder占位文字的N种方法实现方法
方法一 1.把UITextView的text属性当成“placeholder”使用. 2.在开始编辑的代理方法里清除“placeholder”. 3.在结束编辑的代理方法里根据条件设置“placeho ...
- ADO1
1. 新建Web窗体 客户端控件:html控件 服务器控件:用的比较少 2. 数据库连接 protected void btnLogin_Click(object sender, EventArgs ...
