转: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. PostgreSQL-14-异常值处理

    -- 查看异常值CREATE TABLE outerdata(id int PRIMARY KEY,value numeric); \COPY outerdata FROM 'C:\Users\iHJ ...

  2. Linux —— 压缩命令

    压缩与解压命令 .zip格式 压缩文件: zip 压缩文件名 原文件名 (压缩目录添加 -r) 解压缩文件/目录: unzip .zip压缩包 .gz格式 压缩文件: gzip 原文件名称 压缩文件为 ...

  3. [coci2015-2016 coii] Palinilap【字符串 哈希】

    传送门:http://www.hsin.hr/coci/archive/2015_2016/ 进去之后点底下的那个.顺带说一句,题目既不是一个英文单词,也不是克罗地亚单词,估计只是从回文串的英文单词p ...

  4. SNMP消息传输机制

    1.引言 基于TCP/IP的网络管理包含3个组成部分: 1) 一个管理信息库MIB(Management Information Base).管理信息库包含所有代理进程的所有可被查询和修改的参数.RF ...

  5. 使用openssl 生成免费证书

    阅读目录 一:什么是openssl? 它的作用是?应用场景是什么? 二:使用openssl生成免费证书 回到顶部 一:什么是openssl? 它的作用是?应用场景是什么? 即百度百科说:openssl ...

  6. hdu2475Box(splay树形转线性)

    链接 推荐一篇帖子 http://blog.csdn.net/lyhypacm/article/details/6734748 这题暴力不可行主要是因为这颗树可能极度不平衡,不能用并查集是不能路径压缩 ...

  7. MD5加密的方法

    #region MD5加密 /// <summary> /// MD5加密 /// </summary> /// <param name="strPwd&quo ...

  8. 用redis实现简单的队列

    在工作中,时常会有用到队列的场景,比较常见的用rabbitMQ这些专业的组件,官网地址是:http://www.rabbitmq.com,重要的是官方有.net的客户端,但是如果对rabbitMQ不熟 ...

  9. 从零开始利用vue-cli搭建简单音乐网站(五)

    上一篇文章讲到的是如何利用mongoose从数据库读取数据然后更新页面,接下来要实现的就是用户注册登录功能,这个功能涉及到的东西太多了,今天只实现了登录功能,登陆之后更新导航条界面,最后效果如下: 登 ...

  10. uvm_factory——我们的工厂(二)

    上节我们说到uvm_object_registry #(T),uvm_object_reistry 又继承自uvm_object_wrapper,所以首先,让我们先看看它爹是啥样子的: //----- ...