zoukankan      html  css  js  c++  java
  • 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

    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 -1000 rm -rf
  • 相关阅读:
    中间件
    Linux命令
    Ionic 2 Guide
    JSON WEB TOKENS
    用MSBuild和Jenkins搭建持续集成环境(2)
    用MSBuild和Jenkins搭建持续集成环境(1)
    全文检索和消息队列
    redis之如何配置jedisPool参数
    Redis Clients Handling
    redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
  • 原文地址:https://www.cnblogs.com/huhu1020387597/p/9701097.html
Copyright © 2011-2022 走看看