上一篇文章中准备工作已经完成的差不多了

这一篇主要讲解 Jenkins 上面的相关配置

为了让代码部署到所有的子节点上

所以我们首先需要在 Jenkins 中添加我们希望代码部署到的节点

配置节点

首先进入你的 Jenkins 页面

然后选中系统管理

点击进入系统管理后选择节点管理

然后点击新建节点

在输入框中为你的节点取一个名字

并选中固定节点选项

点击确定进入下一步

然后按照下图配置子节点

然后添加凭据用于 Jenkins 控制子节点

添加完凭据之后就可以选择刚刚添加的凭据并保存子节点

然后我们会看到我们添加的节点

但是我们会发现该节点现在并不可用

这是因为 Jenkins 是用 Java写的但是我们的子节点并没有安装 Java 环境

所以Jenkins没法对其进行相应操作,此外由于我们后面的代码会使用git操作所以我们还需要为子节点安装 Java 和 git 才能使用

安装java

那么我们先来安装java,这里的安装方式是最简单的哪种,如果有特殊需要的小伙伴请自行百度 linux 安装 java

shell链接子节点后

输入:

yum list installed |grep java  #检查是否安装自带jdk

查看 yum 库中的 jdk包

yum -y list java* #查看yum库中的jdk

安装你所想要的jdk版本

yum -y install java-1.8.0-openjdk*

安装完成后我们需要找到jdk的安装路径

查找代码如下:

whereis java

然后输入

ls -lrt  /usr/bin/java # 这里的路径换成你的命令行显示的路径

然后再根据上图找到的路径继续查找

ls -lrt /etc/alternatives/java #路径替换为上一步找到的路径

找到类似于上图的路径为止

将该路径复制下来

回到Jenkins中配置刚才的节点

点击高级配置

然后将刚才找到的路径复制到 Java路径中

完成后保存节点

这个时候重启代理节点应该就可以了

会出现如下图所示的结果

如果出现

Key exchange was not finished, connection is closed

这样的报错,那么请进入安全设置

关闭CSRF(防止跨站请求伪造),有些时候该防护会阻止Jenkins与主机的交换 Key 这一过程所以我们需要暂时将其关闭

这下重启代理应该就可以连接到了

安装git

java安装完成后接下来还需要在子节点安装git

sudo yum install git

安装完成后查看git的路径

which git

复制该路径

进入全局插件配置

进入后将git路径复制到如图所示的位置

保存即可

Publish Over SSH

由于我们使用了SSH 的方式来在子节点中部署项目代码,所以我们需要安装一个插件

如下图所示

安装完成后进入系统管理中的系统设置

进入系统设置后滑动到最下方有个增加 ssh server

点击新增

点击高级设置,并勾选密码验证

填写完服务器信息后点击 test

出现Success则说明配置成功点击保存即可

到这里 Jenkins 相关的配置基本就完成了,下一篇则开始介绍将 node 项目打包为 Docker 镜像

node项目自动化部署--基于Jenkins,Docker,Github(2)配置节点的更多相关文章

  1. node项目自动化部署--基于Jenkins,Docker,Github(1)安装Jenkins

    前言 每次项目代码更新后都要重新部署,如果只有一台服务器还好. 但是如果是分布式系统,动不动就很多台服务器,所以代码的自动部署就显得十分重要了. 这里用几篇文章来记录一下如何使用Jenkins,Doc ...

  2. node项目自动化部署--基于Jenkins,Docker,Github(3)自动化部署

    GitHub仓库 由于现在的代码基本上都是多人合作开发,所以肯定会用到像 git 这样的版本控制工具 所以这里使用 GitHub 来做一个演示 首先我们需要在github上新建一个仓库 点击New来新 ...

  3. docker jenkins 前端node项目 自动化部署异常 env: ‘node’: No such file or directory

    出现问题是docker jenkins 里面没有自动安装node导致找不到这个Node命令 解决方案:手动安装nodejs # 进入jenkins对应容器中 # docker exec -it [对应 ...

  4. 部署基于Gitlab+Docker+Rancher+Harbor的前端项目这一篇就够了

    部署基于Gitlab+Docker+Rancher+Harbor的前端项目这一篇就够了 安大虎 ​ momenta 中台开发工程师 6 人赞同了该文章 就目前的形势看,一家公司的运维体系不承载在 Do ...

  5. 基于 Jenkins+Docker+Git 的CI流程初探

    在如今的互联网时代,随着软件开发复杂度的不断提高,软件开发和发布管理也越来越重要.目前已经形成一套标准的流程,最重要的组成部分就是持续集成(Continuous Integration,CI)及持续部 ...

  6. Jenkins-在Centos上配置自动化部署(Jenkins+Gitlab+Rancher)

    Jenkins-在Centos上配置自动化部署(Jenkins+Gitlab+Rancher) 环境:centos7 首先在服务器上安装好Jenkins和Gitlab和Rancher Gitlab安装 ...

  7. Jenkins-在windows上配置自动化部署(Jenkins+Gitblit)

    Jenkins-在windows上配置自动化部署(Jenkins+Gitblit) 1. 安装好 Jenkins(注:安装目录需没有空格,否则安装gitlab hook 插件时会报错,安装在c盘跟目录 ...

  8. Jenkins-在windows上配置自动化部署(Jenkins+Gitlab+IIS)

    Jenkins-在windows上配置自动化部署(Jenkins+Gitlab+IIS) web部署样例 windows服务部署样例 系统备份 在服务器上创建后缀名为.ps1的文件,例:BackUpD ...

  9. jenkins+windows+springboot+.net项目自动化部署图文教程

    之前一直在linux中使用jenkins部署程序,正好现在的项目包括了winfrom程序,所以需要部署到windows系统中 jenkins官网:https://jenkins.io/ 下载之后运行j ...

随机推荐

  1. Java内存区域与Java内存模型

    Java内存区域  Java虚拟机在运行程序时会把其自动管理的内存划分为以上几个区域,每个区域都有其用途以及创建销毁的时机,其中蓝色部分代表的是所有线程共享的数据区域,而绿色部分代表的是每个线程的私有 ...

  2. reactjs 的 css 模块化工具 styled-components 升级后 createGlobalStyle 废除,使用 createGlobalStyle 的方案

    在 styled-components 升级到 4 版本后设置全局属性的 createGlobalStyle 这个 api 被废除,替代的 api 是 createGlobalStyle 与过去组织代 ...

  3. 局域网 ARP 欺骗原理详解

    局域网 ARP 欺骗原理详解 ARP 欺骗是一种以 ARP 地址解析协议为基础的一种网络攻击方式, 那么什么是 ARP 地址解析协议: 首先我们要知道, 一台电脑主机要把以太网数据帧发送到同一局域网的 ...

  4. <meta>标签 的一些用法

    网上找到的一些资料:自己留着! 链接 :http://www.wzsky.net/html/Website/htmlcss/116165.html meta是html语言head区的一个辅助性标签.也 ...

  5. Burp的XSS插件

    xss工具burpXSSVALIDIRTOR(XSS自动扫描) 第一步 安装环境 Phantomjs下载:http://phantomjs.org/download.html 下载后配置环境变量,把b ...

  6. 14.多线程设计模式 - Master-Worker模式

    多线程设计模式 - Master-Worker模式 并发设计模式属于设计优化的一部分,它对于一些常用的多线程结构的总结和抽象.与串行相比并行程序结构通常较为复杂,因此合理的使用并行模式在多线程并发中更 ...

  7. java期末课程总结

    期末课程总结 转眼间,这个学期就要过去了,我们Java的学习也接近了尾声,回想到这个学期刚开始接触到Java的时候,感觉什么都不懂,但现在似乎有了门路,不会载懵懵懂懂, 虽然本学期面向对象与Java程 ...

  8. 定时刷新指定div层

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  9. linux 接收udp流花屏的问题

    最近服务部署到一个Linux上面,接收udp的广播流花屏,问运维说带宽正常,就琢磨了一下应该的丢包了,程序本身申请的socket缓存还是蛮大的,就看看系统的缓存, 用命令cat /proc/sys/n ...

  10. T83312 【音乐会】达拉崩吧·上

    T83312 [音乐会]达拉崩吧·上 题解 线段树板子题 把原来的 + 变成 ^ 但是注意一下懒标记,这里讲一下小技巧 代码 #include<bits/stdc++.h> using n ...