栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

Jenkins 插件管理

Java 更新时间:发布时间: 百科书网 趣学号

Jenkins 插件管理
  • 前言
    • 修改Jenkins插件下载源
      • 方式一:web页面上进行修改
      • 方式二:配置文件修改
    • 插件下载
      • 中文汉化插件:Chines
      • Jenkins用户权限管理插件:Role-based Authorization Strategy
        • 开启权限全局安全配置
        • 创建用户
        • 给用户分配角色
          • 创建角色
          • 修改用户的角色
      • 凭证管理插件:Credentials Binding
        • 安装
        • 管理凭证
          • username with password 类型凭证
          • SSH Username with private key 类型凭证
      • Git插件:Git
        • 安装
        • 创建Git用户凭证
        • 创建项目测试git
      • Maven插件:Maven Integration
      • 流水线插件:Pipeline
        • Pipeline简介
          • **概念**
          • 使用Pipeline有以下好处(来自翻译自官方文档)∶
        • 如何创建Jenkins Pipeline呢?
        • Pipeline语法快速入门
          • Declarative声明式-Pipeline创建项目
          • 编写Pipeline脚本
          • Pipeline script from SCM
    • 配置
      • 全局工具配置 JDK、Maven、Git
      • 添加Jenkins全局环境变量

前言

本次使用的是 jenkins-2.314-1.1版本进行演示,​ Jenkins本身不提供很多功能,我们可以通过使用插件来满足我们的使用。例如从Gitlab拉取代码,使用Maven构建项目等功能需要依靠插件完成。接下来演示如何下载插件。

修改Jenkins插件下载源

Jenkins国外官方插件地址下载速度非常慢,所以可以修改为国内插件地址。

方式一:web页面上进行修改

在插件管理的高级中,修改站点,具体步骤如下:

Jenkins->Manage jenkins(系统管理)->Manage Plugins(插件管理),点击Available(高级)

将 http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 复制到升级站点的URL,然后点击提交,提交后再点击右下角的立即获取,最后再浏览器输入http://ip:port/restart 重启jenkins。

方式二:配置文件修改
vim /var/lib/jenkins/hudson.model.UpdateCenter.xml

将xml的url节点的值修改成http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,然后保存退出,再重启Jenkins:systemctl restart jenkins

插件下载

操作步骤如下:

先进入插件管,然后点击可用插件(Avaliable),在顶部的搜索框输入要安装的插件名称即可。

中文汉化插件:Chines

顶部搜索栏输入 Chines

Jenkins用户权限管理插件:Role-based Authorization Strategy

顶部搜索栏输入 Role-based Authorization Strategy

开启权限全局安全配置

操作步骤如下:


创建用户

操作步骤如下:



给用户分配角色 创建角色

操作步骤如下:



修改用户的角色

操作步骤如下:


凭证管理插件:Credentials Binding

凭据可以用来存储需要密文保护的数据库密码、Gitlab密码信息、Docker私有仓库密码等,以便jenkins可以和这些第三方的应用进行交互。

安装

搜索插件 Credentials Binding 后安装

管理凭证

安装插件后,系统管理多了"凭据配置"菜单,在这里管理所有凭证,可以添加5种类型凭证。

  • username with password:用户名和密码
  • SSH Username with private key:使用SSH用户和密钥
  • Secret file:需要保密的文本文件,使用时Jenkins会将文件复制到一个临时目录中,再将文件路径设置到一个变量中,等构建结束后,所复制的Secret file就会被删除。
  • Secret text:需要保存的一个加密的文本串,如钉钉机器人或Github的api token
  • Certificate:通过上传证书文件的方式

常用的凭证类型有:username with password 和 SSH Username with private key

操作步骤如下:

这里需要注意下,要包括Jenkins 凭据提供者,不然后面配置会告诉没权限。

username with password 类型凭证

操作步骤如下:



SSH Username with private key 类型凭证

ssh-keygen 创建公钥和私钥

  1. 使用root用户生成公钥和私钥

    ssh-keygen -t rsa
    

    此过程是在Jenkins服务器进行处理的(不知道可不可以Gitlib上生成,后面有空进行验证)中间使用回车继续执行(默认值)。

    在/root/.ssh/目录保存了公钥和使用(id_rsa:私钥文件;id_rsa.pub:公钥文件)

    [root@localhost ~]# ll /root/.ssh/
    总用量 8
    -rw-------. 1 root root 1675 10月  5 10:22 id_rsa
    -rw-r--r--. 1 root root  408 10月  5 10:22 id_rsa.pub
    
  2. 把生成的公钥放在Gitlab中

    [root@localhost ~]# cat /root/.ssh/id_rsa.pub 
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUaKImdZEaD0uioedmBg2I3CWXNmV5YtoDWF3d6OYEeLKRsDi+cA0IUjJgWGwmlr7NeInIIPDtkQf2OFxozXtg6e0WT/EW2kHuerzvSLZmsCUMdRuxhCIxTSBGdqVtcC9HEiBKbgJ7GR0QX64A1TCVDTSVSZ/iIOCeEo4kCpOqbVS5U5JzDqJZNcrRPCYzKtbsa0GLRa/kk1lJVTJYJyylapxXp66h/s7Vh5xJHabhUEXTnmsvRGpyirPE8+gc7f5/v86wemvOpyi3Iy132LLowFMEdhs31Sx4bhSJ3++OJzwMPw5q7iEKatIbmeKMpMfM6jLdkFrHEIT3NTkf8CWV root@localhost.localdomain
    
    

Gitlab 配置公钥

jenkins配置私钥

SSH免密登录示意图

  1. 配置凭据


Git插件:Git

为了让Jenkins支持从Gitlab拉取源码,需要安装Git插件以及在CentOS7上安装Git工具。

安装

操作步骤如下:

创建Git用户凭证

操作步骤如下:




创建项目测试git

安装Jenkins服务器中安装 Git应用
yum install git -y
git --version

需要在自己创建一个正确的凭据,用户名和密码都是Gitlab正确的账户和密码




Maven插件:Maven Integration

可以创建Maven项目的任务
搜索栏搜索 Maven Integration

流水线插件:Pipeline

搜索栏搜索 Pipeline

Pipeline简介 概念

​Pipeline,简单来说,就是一套运行在Jenkins上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。

使用Pipeline有以下好处(来自翻译自官方文档)∶
  • 代码: Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流程。

  • 持久:无论是计划内的还是计划外的服务器重启,Pipeline都是可恢复的。

  • 可停止: Pipeline可接收交互式输入,以确定是否继续执行Pipeline。

  • 多功能: Pipeline支持现实世界中复杂的持续交付要求。它支持fork/join、循环执行,并行执行任务的功能。

  • 可扩展: Pipeline插件支持其DSL的自定义扩展,以及与其他插件集成的多个选项。

如何创建Jenkins Pipeline呢?
  • Pipeline脚本是由Groovy语言实现的,但是我们没必要单独去学习Groovy

  • Pipeline支持两种语法:Declarative(声明式)和scripted Pipeline(脚本式)语法

  • Pipeline也有两种创建方法:可以直接在Jenkins的Web UI界面中输入脚本;也可以通过创建一个Jenkinsfile脚本文件放入项目源码库中(一般我们都推荐在Jenkins 中直接从源代码控制(SCM)中直接载入Jenkinsfile Pipeline这种方法)。

安装插件后,创建项目的时候多了“流水线"类型

Pipeline语法快速入门 Declarative声明式-Pipeline创建项目




编写Pipeline脚本

示例 拉取代码:
这里的代码我们可以不用手动写(没必要,有代码生成器)

stage('pull code') {
       steps {
           checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '0f9a326f-30ef-4381-9637-233a06d631ba', url: 'git@192.168.2.101:cfl/web_demo.git']]])
       }
}

示例 代码生成器:

使用代码生成器生成,将生成的代码,复制到具体Declarative(声明式)脚本 steps 下




Pipeline script from SCM
刚才我们都是直接在Jenkins的UI 界面编写Pipeline代码,这样不方便脚本维护,建议把Pipeline脚本放在项目中(一起进行版本控制)

1)在项目根目录建立Jenkinsfile文件,把内容复制到该文件中


配置

在Jenkins集成服务器上,我们需要安装Maven来编译和打包项目,并将maven配置到path上。

这里我之前已经安装过了maven,所以就不再安装了

全局工具配置 JDK、Maven、Git


添加Jenkins全局环境变量

这里新增了三个环境变量,值得注意的是:PATH环境变量必须要


转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/295514.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号