转: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

jobslogsplugins等文件夹及文件若干。勿乱删
这次主要看了看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的更多相关文章

  1. CentOS 下 jenkins 安装

    前置条件 jdk 和 maven 都配置好的环境,不赘述. 下载安装文件 选择一个 rpm 包 http://pkg.jenkins-ci.org/redhat/ 完成后执行命令 sudo rpm - ...

  2. [Jenkins]CentOS7下Jenkins搭建

    最近在倒腾Kubernetes的一些东西,这次需要用到Jenkins来实现自动化构建.来讲一讲搭建的整个过程. Jenkins是什么 Jenkins提供了软件开发的持续集成服务.它运行在Servlet ...

  3. CentOS下Docker与.netcore(四)之 三剑客之一Docker-machine+jenkins简单自动化部署

    CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...

  4. Docker在Centos下使用Dockerfile构建远程Tomcat和Jenkins镜像

    镜像构建准备环境原料 构建CentOS Docker tomcat镜像 Dockerfile文件内容: FROM centos:latest MAINTAINER boonya <boonya@ ...

  5. CentOS下Docker与.netcore(五)之 三剑客之一Docker-swarm集群

    CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...

  6. CentOS下Docker与.netcore(三)之 三剑客之一Docker-Compose

    CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...

  7. CentOS下Docker与.netcore(二) 之 Dockerfile

    CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...

  8. CentOS下Docker与.netcore(一) 之 安装

    CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...

  9. Linxu下jenkins部署和基本配置

    一.OpenJdk1.8安装(tomcat  和 jenkins都依赖与java) ubuntu apt-cache search openjdk       #使用apt-cache搜索可以直接使用 ...

随机推荐

  1. spark sql 对接 HDFS

    上一篇博客我向大家介绍了如何快速地搭建spark run on standalone,下面我将介绍saprk sql 如何对接 hdfs 我们知道,在spark shell 中操作hdfs 上的数据是 ...

  2. SpringMvc源码入门

    servlet httpServletRequest httpServlet

  3. adb server version (39) doesn't match this client (40); killing...

    在启动RN项目的时候也报错,上面的错误是在adb的环境变量中的位置和android studio的sdk不是一个位置.adb是在sdk中的,所以他们应该是一致的位置 android studio的sd ...

  4. 两段代码实现vue路由懒加载

    const Foo = () => import('./Foo.vue') const router = new VueRouter({ routes: [ { path: '/foo', co ...

  5. EasyUI datagrid 列宽度拖动问题

    问题:拖不动或者偶尔能拖动,拖动不按指定? 原因:列宽度绑定的时候使用的百分比; 方法:获取总宽度,经过百分比计算在绑定

  6. monxin cms 任意文件删除漏洞

    \program\diypage\receive\edit.php首先看到一个unlink($path);本来应该先看sql语句的,但知道是任意文件删除先跳过删除语句,看看$path怎么传入的倒推上去 ...

  7. 转 如何诊断和解决high version count 10.2.0.4 and 11.2.0.4

    转自 http://blog.csdn.net/notbaron/article/details/50927492 在Oracle 10g以上的版本,High version count可谓是一个臭名 ...

  8. linux学习-Linux系统启动过程

    linux系统启动过程 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 内核的引导. 运行init. 系统初始化. 建立终端 . 用户登录系统. 内核引导 电源开机后,首 ...

  9. 代码review

    对于代码review个人也有些小小的看法: 1.首先我觉得我们所有开发人员要弄明白 现在Code Review 的目的 ,凡事不弄明白目的,无法做好完成一件事情,个人觉得有以下一些目的: a)可以在项 ...

  10. c#操作ecxel的一些资源(downmoon搜集)

    c#操作ecxel的一些资源(downmoon搜集) 工作需要,邀月收集了几个操作excel的资源.  1.如何:使用 COM Interop 创建 Excel 电子表格(C# 编程指南)http:/ ...