配置内部 Git 的 Jenkins 流水线 | AI生成和翻译

Home 2025.11

以下是配置从内部(企业)GitHub服务器(如GitHub Enterprise或自托管的GitLab/Stash/Bitbucket Server等)加载Jenkinsfile的Jenkins流水线方法。

主要有两种方式:

  1. 来自SCM的流水线脚本(真实项目推荐使用)
  2. 流水线脚本(内联)– 不适用于此场景

1. 创建/编辑”流水线”任务

2. 填写Git配置

字段 填写内容(GitHub Enterprise示例)
仓库URL https://github.internal.company.com/org/repo.gitgit@github.internal.company.com:org/repo.git (SSH)
凭据 选择或创建凭据(详见下文)
要构建的分支 */main*/masterfeature/*
脚本路径 通常为 Jenkinsfile(如果在子文件夹中则为 ci/Jenkinsfile

3. 为内部GitHub添加凭据

进入 Jenkins → 管理Jenkins → 凭据 → 系统 → 全局凭据(无限制)→ 添加凭据

最常见场景:

A. HTTPS与个人访问令牌(GitHub Enterprise推荐)

字段
类型 用户名与密码
范围 全局
用户名 您的GitHub用户名(或任意字符串,如git
密码 在内部GHE上由管理员创建的个人访问令牌(PAT)
ID 有意义的标识,如internal-ghe-pat
描述 内部GitHub Enterprise PAT

然后在任务的”凭据”下拉菜单中选择此凭据。

B. SSH私钥(同样常见)

字段
类型 SSH用户名与私钥
范围 全局
用户名 git
私钥 粘贴私钥内容(—–BEGIN OPENSSH PRIVATE KEY—– …)
密码短语 如果密钥有密码短语,请在此填写
ID 例如internal-ghe-ssh-key
描述 内部GitHub Enterprise SSH密钥

仓库URL必须使用SSH格式:
git@github.internal.company.com:org/repo.git

4. 其他实用选项(位于任务的Git配置部分)

选项 企业环境推荐值
附加行为 → 签出到特定本地分支 分支名称:**(使工作区分支名与远程分支名匹配)
附加行为 → 清空仓库… 通常为清洁构建启用
轻量级检出 保持未选中状态(需要完整的Jenkinsfile,而非Jenkins为流水线CPS执行的轻量版本)
轮询SCM / GitHub钩子触发GITScm轮询 如需Webhook或轮询功能请启用

5. 在内部GitHub上设置Webhook(可选但推荐)

然后在Jenkins任务中启用:
流水线 → 构建触发器 → GitHub钩子触发GITScm轮询

完成设置后,Jenkins将使用所选凭据克隆仓库,并执行根目录(或指定路径)下Jenkinsfile中的内容。

最常见有效配置速览

流水线
 └ 定义: 来自SCM的流水线脚本
     └ SCM: Git
         仓库URL: https://github.internal.company.com/myorg/myrepo.git
         凭据: internal-ghe-pat(用户名+PAT)
         要构建的分支: */main
         脚本路径: Jenkinsfile

或使用SSH方式

仓库URL: git@github.internal.company.com:myorg/myrepo.git
凭据: internal-ghe-ssh-key(SSH私钥)

两种方式均可完美适用于内部企业GitHub实例。


Back

x-ai/grok-4.1-fast

Donate