• jenkins的安装与配置(超详细)


    • Jenkins官网:https://jenkins.io/ 或 https://www.jenkins.io/zh/download/
    • Jenkins官网文档:https://www.jenkins.io/zh/doc/
    • jenkins安装包:http://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
    • 清华镜像:http://updates.jenkins-ci.org/download/war/

    准备工作:以下四个请自行百度

    需要Java环境
    需要maven
    需要git
    如果有前端,则需要node.js

    一:jenkins安装

    1.官网下载Jenkins war包

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/9201b260386649ba854af09d079cd6ac.png)
    
    • 1

    在这里插入图片描述
    我们选择2.346.1
    在这里插入图片描述

    2.使用命令启动

    nohup java -jar jenkins.war --httpPort=8087 &
    
    • 1

    可以用如下限制Jenkins占用内存

    -server -Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m
    
    • 1

    3.浏览器打开http://你的服务器ip:8087/

    注意: 配置安全组或者防火墙的记得放开端口8087,不然搜不到

    在这里插入图片描述

    4. 找到初始化密码

    输出的日志中或者
    
    • 1
     ls /root/.jenkins/secrets/initialAdminPassword
    
    • 1

    都可查看密码
    在这里插入图片描述
    填入后下一步

    5.启动如下

    ①:选择安装推荐的插件或者选择插件来安装
    除非你非常明确的知道自己需要哪几种插件,不然就安装推荐的插件
    在这里插入图片描述

    在这里插入图片描述
    可以看到,有部分插件我们用不到,安装完成之后可以通过系统管理-插件管理-来卸载掉
    jenkins插件目录:/root/.jenkins

    或者选择插件安装
    在这里插入图片描述

    输入用户名密码邮箱
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    点击开始使用jenkins 就可以使用jenkins了
    在这里插入图片描述

    二:插件

    ①:Git Parameter git参数
    ②:Localization: Chinese (Simplified) 简体中文包
    ③:SSH server ssh服务器
    ④:Build With Parameters 输入框式的参数(可选)
    ⑤:Persistent Parameter 下拉框式的参数(可选)
    ⑥:SSH ssh配置
    ⑦:Publish Over SSH 通过SSH发送构建好的jar包或者war包之类的东西
    ⑧:Role-based Authorization Strategy(可选用户权限)

    ①④⑤在购机按的项目General里面:
    在这里插入图片描述
    ③⑥⑦在系统管理-系统配置里面
    在这里插入图片描述

    在这里插入图片描述
    ⑦:配置好以后也在构建好的项目-构建后操作里面配置内容
    在这里插入图片描述

    三:配置

    ①:配置国内的清华镜像源 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

    入口:系统管理-插件管理-高级
    的撒

    ②:配置maven

    入口:系统管理-全局工具配置-maven配置/以及最下面的maven安装
    在这里插入图片描述
    在这里插入图片描述
    ②:maven的历史版本下载(可不看)

    官网:https://maven.apache.org/
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    ③:配置jdk

    参照我之前写的搭建好jdk:https://blog.csdn.net/kawayiyy123/article/details/106475433
    然后配置jdk
    在这里插入图片描述

    ④:配置git

    yum -y install git
    
    • 1
    which git
    
    • 1

    显示路径为/usr/bin/git

    在这里插入图片描述

    ⑤:配置node.js

    官方网址:https://nodejs.org/en/download/
    可参照另外的博客进行安装,这边只是给出大概的 一些镜像和配置并没有配置,是不完全版本

    [root@VM-4-12-centos local]# tar -xf node-v16.10.0-linux-x64.tar.xz
    [root@VM-4-12-centos local]# mv node-v16.10.0-linux-x64 /usr/local/nodejs
    [root@VM-4-12-centos local]# vi /etc/profile
    #node
    export NODE_HOME=/usr/local/nodejs
    export PATH=$NODE_HOME/bin:$PATH
    export NODE_PATH=$NODE_HOME/lib/node_modules
     
     
    [root@VM-4-12-centos local]# source /etc/profile
    [root@VM-4-12-centos local]# node -v
    v16.10.0
    [root@VM-4-12-centos local]# npm -v
    7.24.0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    ⑥:配置凭据参数

    入口:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    ⑦:配置Publish over SSH(可以略过)

    在这里插入图片描述
    进入/root/.ssh目录,看看里面 有没有公钥和私钥
    如没有

    ## 创建ssh key 
    ssh-keygen -t rsa
    ## 一路回车
    
    • 1
    • 2
    • 3

    查看/root/.ssh/文件夹目录

    cd /root/.ssh/
    
    • 1

    查看ssh key 私钥

    cat /root/.ssh/id_rsa
    
    • 1

    在这里插入图片描述
    id_rsa 私钥
    id_rsa_pub 公钥
    注意:这里是私钥

    ⑧:配置SSH Server

    在这里插入图片描述
    在这里插入图片描述

    ⑨:配置SSH remote hosts(可以略过,具体配置的时候可以增加)

    ssh的远程主机配置(就是你要发送到哪一台)
    在这里插入图片描述

    四:项目构建

    1. 后端

    新建一个项目
    在这里插入图片描述

    ①:General

    在这里插入图片描述
    在这里插入图片描述

    ②:源码管理

    在这里插入图片描述

    ③:构建触发器 不做任何配置 略过

    ④:构建环境 不做任何配置 略过

    ⑤:构建

    在这里插入图片描述
    在这里插入图片描述

    ⑥:构建后操作

    在这里插入图片描述
    服务器的路径跟配置的路径不一致,注意
    在这里插入图片描述

    五:遇到的一些小问题

    ①:服务器接收不到jenkins发送来的jar包

    在这里插入图片描述
    不是全路径,是当前项目下的路径
    看上述第六步:构建后操作,第一个和第二个路径有误,是相对路径,jenkins默认在本项目下去操作

    ②:服务器存储jar包路径跟自己配置的不一致

    在这里插入图片描述
    已经构建成功,但是自己目录下没有,原因
    在这里插入图片描述
    假如你项目构建配置的是/usr/local/workspace;那么你的jar包被传输到 /usr/local/jenkins/usr/local/workspace里面去了

    ③:更改jenkins主目录路径

    Jenkins储存所有的数据文件在这个目录下. 你可以通过以下几种方式更改:(我采用第一种)

    1. 使用你Web容器的管理工具设置JENKINS_HOME环境参数.
      打开tomcat的bin目录,编辑catalina.sh文件。
      在# OS specific support. $var must be set to either true or false.上面添加:export JENKINS_HOME=“/var/lib/jenkins”
      在引号中填入你的路径。

    2. 在启动Web容器之前设置JENKINS_HOME环境变量.
      用root用户登录
      编辑profile文件:vi /etc/profile
      在最后加入:export JENKINS_HOME=xxxx
      保存,退出后执行:source /etc/profile
      让配置生效

    3. (不推荐)更改Jenkins.war(或者在展开的Web容器)内的web.xml配置文件.
      更改Jenkins.war(或者在展开的Web容器)内的web.xml配置文件)

       
       	HUDSON_HOME
       	java.lang.String
       	
       
      
      • 1
      • 2
      • 3
      • 4
      • 5

    ④:ssh server 和 git连接不上

    (1):ssh server连接不上,端口使用不是22
    解决思路:换成内网ip,然后端口改成22后成功
    (2):git连接不上(一个内网下看本篇,不是的请检查自己的凭据配置(对应gitlab/git/gitbit用户名密码之类的对不对))
    其他的服务器都能连接上,唯独本台连接不上,原因:在同一个内网下不能用公网ip
    报错如下:

    Failed to connect to repository : Command "/usr/local/git.2.37.0/bin/git ls-remote -h -- 你的ip.git HEAD" returned status code 128:
    stdout:
    stderr: fatal: 无法访问 'http://外网ip:端口/r/项目.git/':Failed connect to 外网ip:端口; 拒绝连接
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    解决方式:换成内网ip,使用ifconfig查看即可
    在这里插入图片描述

    ⑤:jenkins执行.sh脚本不生效

    按照这个格式来写
    在这里插入图片描述

    https://blog.csdn.net/sinat_29821865/article/details/119906879

    六: jenkins的主目录结构

    https://blog.csdn.net/qq_46373211/article/details/126718306

    七:jenkins的一些插件

    ①:Multiple SCMs

    此插件可以在项目构建时选多个git,并指定分支
    在这里插入图片描述
    下载完以后构建选择
    在这里插入图片描述
    在这里插入图片描述
    选择本地子目录
    在这里插入图片描述
    签出到子目录
    在这里插入图片描述

    在这里插入图片描述
    写上对应的名称,上述配置跟源码配置的Git配置差不多,唯一差距的是Additional Behaviours

    ②:用户权限分配 Role-based Authorization Strategy

    下载插件后使用对应的插件
    在这里插入图片描述
    退出当前目录,找到如下打开
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    创建全局角色和项目角色,全局角色必须创建,权限要分配好,不要全给;项目权限看情况给
    简单说一下item role的语法:

    • 将 pattern 设置为 “Ruoyi-.*”,则该角色将匹配名称以 “Ruoyi-” 开头的所有任务;
    • 将 pattern 设置为 “.*Ruoyi”,则该角色将匹配名称以 “Ruoyi” 结尾的所有任务;
    • 也可以匹配文件夹,可以使用以下表达式匹配文件夹 “^foo/bar.*”;
      一个项目角色多个项目可以使用 |来区分
      比如我有一个 ruoyi系列项目,一个modbus4j系列项目
      分配: ruoyi.*|modbus4j.* .*是通配
      分配好以后在对应的item roles里面点击,出现如下项目则成功
      在这里插入图片描述
      在这里插入图片描述
      分配好之后我们可以用新建的root用户登录,就会显示出分配项目角色里面对应的项目
    拓展:新建用户(熟知的可以略过)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    输入对应信息后新建成功

  • 相关阅读:
    linux python虚拟环境的离线迁移
    innodb与myisam的区别
    纯CSS如何禁止用户复制网页的内容?
    随笔记:计算机基础及进制计数法
    【力扣】 209. 长度最小的子数组
    python基础之字典的遍历
    栅栏涂色题
    STC8H开发(十六): GPIO驱动XL2400无线模块
    索引和事务
    网络安全运维掌握这十点核心能力就够了吗?
  • 原文地址:https://blog.csdn.net/kawayiyy123/article/details/127884383