Jenkins

Jenkins介绍
  • Jenkins是一个开源软件项目
  • 起源于Hudson (Hudson是商用的)
  • 是基于Java开发的可扩展的持续集成引擎
  • 功能 :
  • 监视持续重复的工作
  • 旨在提供一个开放易用的软件平台
  • 是软件项目可以进行持续集成
  • 特点 :
  • 部署简单 , 可以在Servlet 中运行 , 也可以独立运行
  • 用户界面友好 , 基于Web页面实现所有操作
  • 能够构建各种风格的项目
  • 有大量插件可供选择
  • 支持各种SCM工具 , 例如 : Git , SVN
  • 支持跨平台部署
  • 构建历史自动管理 , 便于查阅
  • Jenkins使用Git+GitLab+Jenkins 实现CI/CD流程

Jenkins 查看控制台 jenkins控制台日志_运维

Jenkins安装
部署OpenJDK环境
  • 安装OpenJDK 环境 yum -y install java-11-openjdk-devel.x86_64
  • 创建JDK环境软链接 ln -s /usr/lib/jvm/java-11-openjdk-11.0.15.0.9-2.el8_5.x86_64/ /usr/lib/jvm/jdk
  • 声明JAVA_HOME环境变量
  • vim /etc/bashrc //末尾添加
    export JAVA_HOME="/usr/lib/jvm/jdk/"export PATH=${JAVA_HOME}/bin/:$PATH
  • 刷新当前bash环境 source /etc/bashrc
  • 查看JAVA_HOME变量 echo ${JAVA_HOME}
  • 查看Java的执行程序 which java
  • 查看Java版本 java -version
安装工具相关软件
  • 安装Git用于拉取代码 , postfix用于发邮件
    yum -y install git postfix
安装Jenkins
  • 下载安装包 jenkins-2.361.4-1.1.noarch.rpm
  • 安装Jenkins yum -y install jenkins-2.361.4-1.1.noarch.rpm
  • 启动Jenkins服务 systemctl start jenkins.service
  • 设置Jenkins开机自启动 systemctl enable jenkins.service
  • 确认8080端口被监听 ss -antpul | grep java
Jenkins初始化
  • 获取Jenkins初始化密码 cat /var/lib/jenkins/secrets/initialAdminPassword
  • 浏览器访问: http://Jenkins主机IP地址:8080/ , 本次使用IP地址为 192.168.88.30
  • 从提示未知获取Jenkins初始密码 , 将初始密码复制到文本框中 , 点击继续

Jenkins 查看控制台 jenkins控制台日志_Jenkins_02

  • 如果主机可以联网 , 在此步骤可以联网安装必要插件 ;如果是断网环境, 提示Jenkins已离线,点击跳过插件安装 , 后续离线部署插件.

Jenkins 查看控制台 jenkins控制台日志_Jenkins 查看控制台_03

  • 如果想自定义管理员用户 , 可以设置 . 实验环境下直接点击下方使用admin账户继续以admin用户身份使用Jenkins

Jenkins 查看控制台 jenkins控制台日志_Jenkins 查看控制台_04

  • 此处生成访问Jenkins实例的地址 , 保持默认即可 , 点击保存

Jenkins 查看控制台 jenkins控制台日志_运维_05

  • 跳出Jenkins已就绪的页面 , 点击开始按钮进入Jenkins管理页面

Jenkins 查看控制台 jenkins控制台日志_运维_06

  • 页面跳转至Jenkins仪表盘 , 此时登录用户的身份为admin , 默认为英文页面 , 安装了包的情况下为中文;由于当前使用的是初始化密码登录 , 点击admin旁边的小三角 , 下拉菜单选择Configure /设置 , 准本更新admin用户密码

Jenkins 查看控制台 jenkins控制台日志_Jenkins 查看控制台_07

  • 进入admin用户配置页面后往下拉找到Password部分 , 清理掉文本框中原有的密码 , 更新admin用户密码 , 推进使用1234.com , 与GibLab保持一致Git基础(2)_GitLab ; 更新后需要重新登录,确认使用新密码可以登录.

Jenkins 查看控制台 jenkins控制台日志_Jenkins_08

离线部署Jenkins插件

使用线上安装插件容易造成版本不符

  • 查看已安装的插件 ls /var/lib/jenkins/plugins/
  • 确认插件包 jenkins_plugins.tar.gz
  • 解压Jenkins插件,保留文件归属 tar -xpfP jenkins_plugins.tar.gz
  • 确认该目录下文件归属 ls -l /var/lib/jenkins/plugins/
  • 重启Jenkins加载插件 systemctl restart jenkins.service
  • 确保监控端口 ss -antpul | grep java
Jenkins工程构建
  • 点击左侧导航栏新建任务 , 创建Jenkins工程任务
  • Jenkins 查看控制台 jenkins控制台日志_运维_09

  • 填写工程名成为HISFONTEND , 工程风格选择自由风格

Jenkins 查看控制台 jenkins控制台日志_运维_10

  • 填写工程描述信息 , 方便其他成员了解工程内容;勾选参数化构建过程 , 参数选择Git参数

Jenkins 查看控制台 jenkins控制台日志_Jenkins_11

  • 定义Git参数version ,类似于Shell变量 , 工程配置中可以调用 ;参数描述信息 ;参数类型选择分支或标签;参数默认值origin/master

Jenkins 查看控制台 jenkins控制台日志_运维_12

  • 源码管理选择Git , 填写HIS前端代码的GitLab项目地址 , 此处带有验证功能 , 如果访问不到项目下方会有红色提示信息;指定分支调用上方定义的构建参数${version} , 便于构建时拉去不同版本的代码;保存并测试构建
  • Jenkins 查看控制台 jenkins控制台日志_jenkins_13

  • 定位到源码管理部分 , 最下方的Additional Behaviors添加额外行为选择检出到子目录 , 配置子目录名称 , 选择掉同上方的构建参数作为子目录后缀HIS-FONTEND-${version} 或 留白 **

Jenkins 查看控制台 jenkins控制台日志_子目录_14

Jenkins 查看控制台 jenkins控制台日志_Jenkins_15

  • 点击保存后跳转到工程管理页面 , 左侧选择Build with Parameters , 右侧构建参数选择v1版本 , 点击开始构建 , 测试代码拉取是否创建子目录.
  • Jenkins 查看控制台 jenkins控制台日志_子目录_16


  • Jenkins 查看控制台 jenkins控制台日志_Jenkins_17


  • Jenkins 查看控制台 jenkins控制台日志_Jenkins 查看控制台_18

  • 确认拉去代码情况, 查看Jenkins工作目录 ls /var/lib/jenkins/workspace/
  • 确认拉取到的子目录
  • ls /var/lib/jenkins/workspace/HIS-FONTEND/
  • ls /var/lib/jenkins/workspace/HIS-FONTEND/HIS-FONTEND-v1/
  • 清理Jenkins工作目录,节省空间 rm -rf /var/lib/jenkins/workspace/*
文件内容较大时 ,将下载代码进行打包
  • 点击配置进入HIS-FONTEND工程配置页面 , 本次目标为将拉去下来的代码进行打包工作
  • Jenkins 查看控制台 jenkins控制台日志_jenkins_19

  • 因为最终要实现工作目录自动清理 , 所以此时删除检出到子目录的动作配置 , 便于后续操作
  • Jenkins 查看控制台 jenkins控制台日志_运维_20

  • Jenkins工程构建过程中可以调用shell命令, 可以通过执行shell命令完成代码打包操作 , 定位到Build Steps , 构建步骤 , 选择增加构建步骤-执行shell
  • Jenkins 查看控制台 jenkins控制台日志_Jenkins_21

  • 添加要执行的shell命令 , Jenkins工程构建过程中工作目录为/var/lib/jenkins/workspace/project , 所以可以使用相对路径
  • 删除拉取到Jenkins本地目录中的版本库 rm -rf .git
  • 对代码进行打包操作 tar -zcf fontend.tar.gz *

Jenkins 查看控制台 jenkins控制台日志_Jenkins 查看控制台_22

  • 保存后使用v1参数开始构建 , 查看构建历史列表 , 确认本次构建是否成功 , 进入控制台查看详细信息

Jenkins 查看控制台 jenkins控制台日志_运维_23

  • 确认拉去代码情况, 查看Jenkins工作目录 ls /var/lib/jenkins/workspace/
  • 确认拉取到的子目录
  • ls /var/lib/jenkins/workspace/HIS-FONTEND/
  • ls /var/lib/jenkins/workspace/HIS-FONTEND/HIS-FONTEND-v1/
  • 清理Jenkins工作目录,节省空间 rm -rf /var/lib/jenkins/workspace/*