Jenkins 使用指南 之 初级应用篇

Jenkins 使用指南 之 初级应用篇

Note: 本次 Jenkins 服务安装,服务器以 CentOS 7 系统为例,且以 root 用户启动并运行服务。

本篇 Jenkins 使用指南,将简要概述一下 Jenkins 服务的以下初级应用:

  • 管理与配置
    • 访问 Jenkins 服务管理页面
    • admin 用户的密码设置及找回
    • 用户创建
  • 插件安装及其配置
  • 创建常规构建
  • 小贴士

I. 管理与配置

1. 访问 Jenkins 服务管理页面

Jenkins 服务安装并启动成功后,即可通过以下地址访问其服务管理页面:

http://{YOUR_IP}:{YOUR_PORT}/

eg. 127.0.0.1:8080/

2. admin 用户的密码设置及找回

初次访问 Jenkins 服务管理页面,会有系统提醒输入初始用户 admin 的初始密码,初始密码的获取方式为:

$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
# Ctrl + Insert 复制

若上述过程发生意外,无法找回密码,则选择重置初始密码配置:

$ cd /var/lib/jenkins/
# 删除配置文件:
$ sudo rm -f config.xml
# 重启 jenkins 服务:
$ sudo systemctl restart jenkins.service
# 此时初始用户 admin 的初始密码已被重置:
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
# Ctrl + Insert 复制

3. 用户创建

登录 Jenkins 服务管理页面后,前往 Manage Jenkins > Manage Users,进入用户管理页面,创建用户即可。

II. 插件安装及其配置

Note: 此处以 Gitee Plugin 安装为例。

1. 安装插件 Gitee Plugin

    1. 前往 Manage Jenkins -> Manage Plugins -> Available
    1. 在下方可选列表中勾选 Gitee Plugin
    1. 点击 Download now and install after restart
    1. 勾选重启服务

2. 添加 Gitee 链接配置

  • i. 前往 Manage Jenkins -> Configure System -> Gitee Configuration -> Gitee connections
  • ii. 在 Connection name 中输入 Gitee 或者你想要的名字
  • iii. 在 Gitee host URL 中输入 Gitee 完整 URL地址: gitee.com (OR: Gitee 私有化客户输入部署的域名)
  • iv. Credentials 中如还未配置 Gitee APIV5 私人令牌,点击 Add - > Jenkins :
    • a. Domain 选择 Global credentials
    • b. Kind 选择 Gitee API Token
    • c. Scope 选择你需要的范围
    • d. 在 Gitee API Token 中输入你的 Gitee 私人令牌,获取地址:gitee.com/profile/personal_access_...
    • e. 在 ID, Descripiton 中输入你想要的 ID 和描述内容 (所填 ID 保证其唯一性即可)。
  • v. 在 Credentials 中选择配置好的 Gitee APIV5 Token
  • vi. 点击 Advanced ,可配置是否忽略 SSL 错误(视您的Jenkins环境是否支持),并可设置链接测超时时间(视您的网络环境而定)
  • vii. 点击 Test Connection 测试链接是否成功,如失败请检查以上 iii, v, vi 步骤。

3. 生成并添加 SSH 公钥

如上所述,当前 Jenkins 服务的运行用户为 root,则将 root 用户下的 SSH 公钥添加至 gitee 用户配置中:

$ sudo cat /root/.ssh/id_rsa.pub
# Ctrl + Insert 复制

若 /root/ 目录下从未生成过 SSH 公钥,则:

$ sudo ssh-keygen -t rsa -C "root@YOUR_IP"
...
$ sudo cat /root/.ssh/id_rsa.pub
# Ctrl + Insert 复制

III. 创建常规构建

1. 新建构建项目

前往 Jenkins 服务管理页面首页,即 Dashboard,点击 New Item 创建构建项目, name 输入 ‘GiteeTest’,选择 Freestyle project,保存,即可创建构建项目。

2. 配置 General (通用)

  • 填写项目描述 Description
  • Gitee connection (Gitee 链接) 下选择之前配置好的 Gitee 插件配置(即:Connection name, eg. Gitee)

3. 配置 Source Code Management (源码管理)

  • i. 选择 Git
  • ii. Repositories:
    • a. Repository URL: eg. git@gitee.com:user_name/repository_name.git
    • b. Credentials: 选择 Add Credentials 添加认证:
      • Domain: 选择 Global Credentials
      • Kind: SSH Username with private key
      • Scope: Global
      • ID: 所填 ID 保证其唯一性即可
      • Description: 填写描述内容
      • Username(此为 jenkins 服务的运行用户): root
      • Private Key: Enter Directly 直接复制黏贴上述 SSH 公钥对应的 SSH 私钥(/root/.ssh/id_rsa)
      • Add: 最后点击 Add 添加认证
    • c. Advanced 高级选项:
      • Name 字段可以留空或者输入 origin (这个 origin 就是 git pull remote_origin remote_branch:local_branch 中的 remote_origin)
      • Refspec 字段可以留空或者输入: +refs/heads/:refs/remotes/origin/ +refs/pull//MERGE:refs/pull//MERGE (默认值为: +refs/heads/:refs/remotes/origin/)
  • iii. Branches to build: 添加你所需要管理的 git 分支,例如:
    • origin/master
    • origin/dev

4. 配置 Build Triggers (构建触发器)

简要介绍两种常用的构建触发方式:

  • Build periodically 周期性构建: 即,定时任务,eg. H/30 * * * * * 每30分钟构建一次
  • Gitee webhook 触发构建,需要在 Gitee webhook 中填写 URL: http://*******
    • 勾选 接受 Pull Requests & 忽略 Pull Request 冲突 两个配置选项即可
    • 其他配置不太需要改动
    • 以上配置即可实现,当指定分支的 PR 被管理员接受时,自动触发构建部署行为
    • Gitee WebHook 密码:点击 生成 按钮,生成新的 Gitee WebHook 密码
    • 前往 Gitee 线上项目仓库的管理页面(eg. https://gitee.com/user_name/repository_name),选择 Settings 设置,进入:
      • 选择 WebHooks,进入 WebHooks setting 页面
      • 选择 Add 添加新的 WebHooks
      • URL:填写 上面的那个 Gitee Webhook 触发构建设置中的 URL
      • WebHook 密码:填写 上面的那个 Gitee Webhook 触发构建设置中生成的 Gitee WebHook 密码
      • 点击 Add 确定添加

5. 配置 Build (构建)

Note: 本环节所涉及的 Shell 脚本运行于本地服务器 (即:Jenkins 服务所在的部署服务器),因此,运行 Shell 脚本的用户为 root。

点击 “增加构建步骤”,选择 “Execute shell”,然后在 Shell 命令文本框内输入如下构建部署 Shell 脚本:

cd /home/www/project_name/
git fetch --all
git checkout branch_name
git pull origin branch_name:branch_name
chown -R www:www /home/www/project_name/
# some other shell scripts ...
...

以上的 Shell 脚本,即可实现以下效果:

当某一 Git 操作触发了 Jenkins 的构建操作,服务器端的项目代码即切换至 Git 分支 branch_name,并进行部署。

IV. 小贴士

  • 本篇使用指南,仅介绍 Jenkins 服务管理页面的常规操作,以及常规的构建项目的配置选项,其他配置选项可以根据具体需要进行添加,而且每个配置选项后面都有 帮助内容,可供参考
  • 其他参考资料: Gitee Support Center / 第三方服务集成 / Jenkins 插件

以上,Jenkins 初级应用介绍完毕。

— END —

本作品采用《CC 协议》,转载必须注明作者和本文链接
夏蟲不語冰
Elijah_Wang
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!