Jenkins子节点构建配置

    xiaoxiao2021-03-26  24

    前言

    关于Jenkins子结点的配置,网上有很多的教程。但是一到自己操作的时候总是会遇到这种或那种的错误,在这里记录一下成功的操作过程。

    环境

    Jenkins 2.19.1OS Debian 8.7Tomcat 8Maven 3.3.9远程仓库托管Gitlab 8.16.4

    安装Jenkins

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

    配置子节点

    我是通过下载jenkins war包,然后直接丢到tomcat中的,所以通过http://服务器ip:8080/jenkins进行访问。 关于Jenkins其他的基本配置这里就不多介绍了,直接配置节点。

    进入jenkins服务器的首页,点击左边的系统管理,如下图所示:

    然后点击右边的管理节点,如下图所示:

    继续点击左边的新建节点,然后按如下图操作,最后点击OK:

    点击OK后,进入到节点的配置界面,如下图:

    到了这一步,我们还需要做一些其他的前置配置了,如果没有这些前置配置,这一步是没法走的。

    前置配置有如下:

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

    下面来一步步完成前置配置。

    创建Jenkins用户

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

    # adduser 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)机器上tomcat用户的公钥,复制到authorized_keys文件中。 因为我是使用# apt-get install tomcat8安装的tomcat的,所以tomcat_home是在/usr/share/tomcat8路径中,随便拷一个宿主机器其他用户的**.ssh**目录到该目录下即可, 因为不好为tomcat8用户直接生成ssh key的。。如果有懂这块的朋友,还请多多赐教。

    创建Jenkins Credentials认证

    我们回到宿主服务器Jenkins的首页,点击左边的Credentials,如下图:

    然后点击右边下方的,global,如图:

    在新出现界面的左边就有添加Credentials了,如图:

    点击Add Credentials,右边就会出现配置的界面,按如下图操作即可:

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

    部署jenkins用户公钥到Gitlab

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

    继续前面的节点配置

    到这里,我们的前置配置都已经完成了,现在可以继续之前的节点配置了。完整配置如下图:

    注意:如果没有ssh的这种启动方式,需要再安装SSH Build Agents插件。

    回到jenkins服务首页,在左边下方出现,如图所示,即为成功了:

    到这里,我们子节点的配置基本都已经完结了,最后再说一下怎么使用子节点来进行项目的构建吧。

    创建Jenkins项目

    回到Jenkins的首页,点击左边最上面的新建来创建项目,出现下面界面:

    项目配置

    项目配置有以下几个地方需要注意的,其他的就根据具体的项目需求来吧。如图:

    总结

    感觉很少的一点东西,不知不觉就写那么多了。对于新人来说,只有更多,没有最多吧。网上的一些教程总是那么残差不齐,实际操作起来问题多多。真是没办法,这一行就是要这么一路踩坑啊。 希望这个能够帮助到其他人吧。

    转载请注明原文地址: https://ju.6miu.com/read-660589.html

    最新回复(0)