码云 Gitee + Jenkins 配置教程

安装jdk

安装maven

安装Jenkins

https://blog.csdn.net/minihuabei/article/details/132151292?csdn_share_tail={"type"%3A"blog"%2C"rType"%3A"article"%2C"rId"%3A"132151292"%2C"source"%3A"minihuabei"}

插件安装

前往 Manage Jenkins -> Manage Plugins -> Available,在 Filter 中搜索 Gitee:

下方可选列表中勾选 Gitee(如列表中不存在 Gitee,则点击 Check now 更新插件列表),然后点击"Download now and install after restart"。

在安装页面勾选"Restart Jenkins when installation is complete and no jobs are running"

安装完之后,可以在 "installed" 页面看到 Gitee 插件

插件配置

添加 Gitee 链接配置

  1. 前往 Jenkins -> Manage Jenkins -> Configure System -> Gitee 配置 ->
    Gitee 链接
  2. 在 链接名 中输入 Gitee 或者你想要的名字
  3. Gitee 域名 URL 中输入码云完整 URL地址: https://gitee.com (码云私有化客户输入部署的域名)
  4. 证书令牌 中如还未配置码云 APIV5 私人令牌,点击 Add - > Jenkins

1 Domain 选择 全局凭据

2 Kind 选择 Gitee API 令牌

3 Scope 选择你需要的范围

4 Gitee API Token 输入你的码云私人令牌,获取地址: https://gitee.com/profile/personal_access_tokens

5 ID, Descripiton 中输入你想要的 ID 和描述即可。、

Credentials 选择配置好的 Gitee APIV5 Token

  1. 点击 Advanced ,可配置是否忽略 SSL 错误(适您的Jenkins环境是否支持),并可设置链接测超时时间(适您的网络环境而定)
  2. 点击 Test Connection 测试链接是否成功,如失败请检查以上 3,5,6 步骤。

新建构建任务

前往 Jenkins -> New Item , name 输入 'Gitee Test',选择 Freestyle project , 再点击 OK 即可创建构建项目。

任务全局配置

任务全局配置中需要选择前一步中的Gitee 链接。如图:

源码管理配置

选择 Source Code Management 选项卡:

  1. 点击 Git

  2. 输入你的仓库地址,例如 https://gitee.com/AndyWannaSing/hello-casstime-demo.git

    复制代码
     1 点击 add-Jenkins,添加用户名和密码凭证(连接项目的时候需要用它做校验)
      2 点击 Advanced 按钮, Name 字段中输入 origin, Refspec 字段输入 +refs/heads/*:refs/remotes/origin/* +refs/pull/*/MERGE:refs/pull/*/MERGE
  1. Branch Specifier 选项:

    对于单仓库工作流输入: origin/ g i t e e S o u r c e B r a n c h 对于 P R 工作流输入 : p u l l / {giteeSourceBranch} 对于 PR 工作流输入: pull/ giteeSourceBranch对于PR工作流输入:pull/{giteePullRequestIid}/MERGE

  2. Additional Behaviours 选项:

    对于单仓库工作流,如果你希望推送的分支构建前合并默认分支(发布的分支),可以做以下操作:

    点击 Add 下拉框

    选择 Merge before build

    设置 Name of repository 为 origin

    设置 Branch to merge to 为 ${ReleaseBranch} 即您要合并的默认分支(发布分支)

    对于 PR 工作流,码云服务端已经将 PR 的原分支和目标分支作了预合并,您可以直接构建,如果目标分支不是默认分支(发布分支),您也可以进行上诉构建前合并。

触发器配置

选择 Build Triggers 选项卡:

  1. Enabled Gitee triggers 勾选您所需要的构建触发规则,如 Push Event, Opened Merge

    Request Events,勾选的事件会接受WebHook,触发构建。目前支持触发事件有:

    复制代码
    	Push Events :推送代码事件
    	Opened Merge Request Events :提交 PR 事件
    	Updated Merge Request Events :更新 PR 事件
    	Accepted Merge Request Events :接受/合并 PR 事件
    	Closed Merge Request Events :关闭 PR 事件
    	Approved Pull Requests : 审查通过 PR 事件
    	Tested Pull Requests :测试通过 PR 事件
  2. Enable [ci-skip] 该选项可以开启支持 [ci-skip] 指令,只要commit message 中包含

    ci-skip\],当前commit 即可跳过构建触发。

  3. Allowed branches 可以配置允许构建的分支,目前支持分支名和正则表达式的方式进行过滤。

  4. Secret Token for Gitee WebHook 该选项可以配置 WebHook 的密码,该密码需要与码云

    WebHook配置的密码一致方可触发构建。

  5. 注意:若 PR 状态为不可自动合并,则不触发构建。

构建后步骤配置

选择 Post-build Actions 选项卡:

构建结果回评至码云

  1. 点击 Add post-build action 下拉框选择 "将构建状态评论到 Gitee pull request 中"

  2. Advanced 中可以配置:

    复制代码
    仅为构建失败回评到码云
    自定义各状态的回评内容(内容可以引用 Jenkins 的环境变量,或者自定义的环境变量)
  3. 若开启该功能,还可将不可自动合并的状态回评至码云

构建成功自动合并PR

点击 Add post-build action 下拉框选择 "当构建成功自动合并 Gitee 的 Pull Request"

新建码云仓库WebHook

进入源码管理配置中设置的码云仓库中,进入 管理 -> WebHooks:

添加 WebHook, URL 填写 触发器配置的地址。

密码填写:触发器配置第 5 点中配置的 WebHook密码,不设密码可以不填

勾选 PUSH, Pull Request


其中:http://7e2be7e8.ngrok.io/project/Gitee Test 是外网的IP。(内网转外网域名的方法)

测试触发构建

通过测试按钮触发构建


测试推送触发构建

码云的 WebHook 管理中选择勾选了PUSH的 WebHook 点击测试,观察 Jenkins 任务的构建状态

码云仓库页面编辑一个文件提交,观察 Jenkins 任务的构建状态


测试PR触发构建

码云的 WebHook 管理中选择勾选了 Pull Request 的 WebHook 点击测试,观察 Jenkins 任务的构建状态

在码云仓库中新建一个Pull Request,观察 Jenkins 任务的构建状态


相关推荐
weixin_3077791317 分钟前
Jenkins jQuery3 API 插件详解:赋能插件前端开发的利器
运维·开发语言·前端·jenkins·jquery
爱宇阳43 分钟前
Jenkins 多语言 Agent 完整部署教程
运维·servlet·jenkins
Wang's Blog19 小时前
Elastic Stack梳理:Kibana 核心功能解析之配置管理、索引模式与数据探索实战
运维·jenkins
避避风港20 小时前
深入解析Tomcat工作流程与Servlet体系
java·servlet·tomcat
weixin_3077791320 小时前
高效通知:Jenkins邮件插件完全指南与进阶配置
java·servlet·jenkins
测试人社区—667921 小时前
Jenkins持续测试集成
运维·人工智能·学习·flutter·ui·自动化·jenkins
达子6661 天前
笔记-使用Repo工具管理多个关联仓库(适用于复杂项目)
git·gitee·github
GeminiJM1 天前
Elasticsearch Bulk 写入优化实践:从线程池拒绝到高效批量写入
大数据·elasticsearch·jenkins
weixin_307779131 天前
Jenkins jsoup API 插件:强大的 HTML 解析底层支持与使用指南
运维·前端·架构·html·jenkins
weixin_307779131 天前
Jenkins LDAP插件:企业级CI/CD的身份认证中枢
java·ci/cd·jenkins