zoukankan      html  css  js  c++  java
  • (二)Jenkins配置主从节点实例

    1. 概述      

          jenkins安装在一台主机上,所有的jobs都在这台机器上运行,如果运行太多jobs时,会形成等待,节点存在就是解决这个问题提高效率,安装jenkins的主机称为master机,而其它机器就属于master的分节点,即slave节点;利用其它主机用执行jenkins的jobs,则需要一些配置,形成两台机器互通,当然下面的例子使用用另外一台主机当做slave是。

    2. 环境准备

    主机名                           ip                            角色

    jenkins-master         192.168.3.16               jenkins的Master节点   tomcat8 jenkins maven jdk8

    jenkins-slave            192.168.3.13               jenkins的Slave节点  slave.jar jdk8 maven

    gitlab.jackyops.com  192.168.3.15            gitlab

    3. 安装Jenkins

         只需要在master主机上安装Jenkins就可以了,其他的从节点不用安装。通过slave.jar运行的。 
    首先从官网下载最新版Jenkins,https://jenkins.io/index.html
    由于现在Jenkins更新挺频繁的,问题当然也就不少了,最好选择安装LTS Release版本。

    4.  从节点配置及相关的配置

    从节点机器上创建jenkins用户,用于执行构建任务,以及一些环境配置
    创建从节点机器jenkins用户的ssh密钥,用于指定上面配置界面启动方式为ssh的;
    创建Jenkins Credentials认证,在配置启动方式和项目源码管理从远程仓库获取源码需要;
    将jenkins用户的公钥部署到Gitlab远程仓库,用于免密码下载源码。

    在从节点主机执行如下命令:

    创建Jenkins用户
    使用root登录远程子节点机器,执行以下命令创建Jenkins用户:

    # adduser jenkins

    # passwd jenkins

    生成jenkins用户的ssh密钥
    我们目前是root用户登录,为了方便操作,切换到我们刚刚创建的jenkins用户:

    # su - jenkins
    然后生成密钥:

    $ ssh-keygen -t rsa
    一路回车默认空密码即可,最终会在/home/jenkins/.ssh目录中生成公钥id_rsa.pub和私钥id_rsa这两个文件。

    添加ssh认证文件,方便远程机器无密码登录jenkins用户。

    $ cd ~/.ssh
    $ touch authorized_keys

    将主(master)机器上做免密码登录到slave主机上
    # ssh-copy-id -i /root/.ssh/id_rsa.pub jenkins@192.168.3.13

    注意:

     .ssh 文件夹权限需要设置成700

    .authorized_keys文件权限需要设置600

    5.创建Jenkins Credentials(任据)认证

    回到master主服务器Jenkins的首页,点击左边的任据,如下图:

    添加凭据

    Username 栏填写之前从节点上创建的jenkins用户

    Private Key,栏复制从节点jenkins用户生成的私钥的内容即可,一般在/home/jenkins/.ssh/id_rsa

    其它的不用填写

    最后点击OK,完成Jenkins Credentials认证的创建。

    6. 部署jenkins用户公钥到Gitlab 

    登录自建的Gitlab服务器,点击头像,选择Settings,然后再选择SSH Keys,复制公钥到指定位置即可,如下图所示:

    7. 配置Master节点

        通过下载jenkins war包,然后直接tomcat中的/opt/tomcat-jenkins/webapps/目录中,通过http://192.168.3.16:8080/jenkins访问,关于Jenkins其他的基本配置这里就不多介绍了,直接配置从节点。

    进入Jenkins服务器的首页,系统管理》管理节点》新建节点

    输入节点名,选择Permanent Agent,点击【OK】进入下一步

    2. 按下图配置好后,点击【save】保存,保存成功后回到节点列表

    配置从节点,按照如下所示输入,加粗文字注意一下:
    配置项    配置
    名称    填节点名称
    描述    节点描述
    并发构建数    并发数量
    远程工作目录    填写从节点上jenkins agent的工作目录,推荐只用绝对路径,如/home//jenkins-agent。注意jenkins要有该目录的读写权限
    标签    不改动。jenkins可以通过标签指定一组从服务器运行某个构建任务
    用法    不改动。可以指定什么情况下使用该从节点,可以有“尽可能使用该节点”和“只有任务指定了使用该节点时,才用该节点运行”两种选择
    启动方法    选择”launch slave agents via SSH”
    主机    填写从服务器的ip或域名
    Credentials    填写SSH认证信息,(可用户密码认证或SSH密钥认证方式)
    Host Key Verification Strategy    选择 Manually Trusted Key Verification Strategy,这会在完成配置后,第一次连接从节点时要求我们手动确认当前连接的从节点的身份。说明一下,Host Key 验证是用来防止中间人攻击的
    Require manual verification of initial connection    选中
    Availability    不改动。可用性
    高级——java路径    填写从主机上的java的路径,可以使用which java 查看。如果这里不填,jenkins会扫描一些特定路径,如果扫描不到java,就会报错,所以建议填写
    环境变量   勾选上,并填写运行构建任务所需要的环境变量。建议填上JAVA_HOME,免得jenkins运行构建任务时找不到java。

    填完之后,点击【保存】 

    点击启动代理按钮下载slave-agent.jnlp,放到节点机器上,双击启动(节点机器必须有jdk环境,因为需要javaws.exe来启动)

    从节点远程工作目录会生成如下文件

    [root@tcpip01 jenkins-salve ]# tree /data/jenkins/
    /data/jenkins/
    └── slave.jar

    创建Jenkins项目

    Jenkins的首页,点击左边最上面的新建来创建项目,构建一个自由风格的软件项目,出现下面界面: 

    项目配置 

    从节点执行后结果如下

    [root@jenkins-slave home]# tree -L 3 /home/jenkins/
    /home/jenkins/
    ├── slave.jar
    └── workspace
        ├── blog-solo2
        │   ├── CHANGE_LOGS.html
        │   ├── docker-compose.yml
        │   ├── Dockerfile
        │   ├── gulpfile.js
        │   ├── LICENSE
        │   ├── package.json
        │   ├── pom.xml
        │   ├── README.md
        │   └── src
        └── blog-solo2@tmp

  • 相关阅读:
    senrty 配置Email
    pip安装使用详解
    C_FORCE_ROOT linux环境变量设置
    Supervisord管理
    解决外部机器通过VM内ubuntu IP 无法访问vm内web服务的问题
    C# 使用Nlog记录日志到数据库 使用LogEventInfo类获取,命名空间名称、类名、方法名
    godaddy.com 注册域名 买卖域名
    vue-15-vuex-store的用法
    vue-14-less 语法的使用
    vue-13-swiper组件的使用
  • 原文地址:https://www.cnblogs.com/lirongyang/p/14031042.html
Copyright © 2011-2022 走看看