温馨提示×

Jenkins如何关联Git

小樊
46
2026-08-19 15:44:14
栏目: 编程语言

在 Jenkins 中关联 Git,通常是指让 Jenkins 从 Git 仓库拉取代码进行构建。下面按最常见、最实用的方式一步步说明(以 Freestyle 项目Pipeline 为例)。


一、前置条件

1. 安装 Git 插件

Jenkins 默认已集成 Git 支持,但建议确认:

Jenkins → Manage Jenkins → Plugins → Installed

  • ✅ Git Plugin
  • ✅ Git Client Plugin

如未安装,去 Available plugins 搜索并安装。


2. Jenkins 服务器安装 Git

# CentOS / RHEL
yum install -y git

# Ubuntu / Debian
apt install -y git

验证:

git --version

二、全局配置 Git(推荐)

Manage Jenkins → Global Tool Configuration → Git

  • Name:Default
  • Path to Git executable:git(或 /usr/bin/git

✅ 保存


三、Freestyle 项目关联 Git(最简单)

1. 新建任务

New Item → Freestyle project

2. 配置 Git 仓库

Source Code Management 中选择 Git

必填项:

  • Repository URL

    https://github.com/yourname/yourrepo.git
    

    git@github.com:yourname/yourrepo.git
    
  • Credentials

    • 如果是 HTTPS:用户名 + 密码 / Token
    • 如果是 SSH:添加 SSH Private Key

示例(HTTPS + Token)

  1. GitHub 生成 Personal Access Token
  2. Jenkins → Credentials → Add
    • Username:GitHub 用户名
    • Password:Token

3. 指定分支

*/main
或
*/master

4. 构建测试

Build Steps → Execute shell

echo "Git pull success"
git log -1

点击 Build Now


四、Pipeline 方式关联 Git(推荐)

1. 新建 Pipeline 项目

2. Pipeline 脚本示例

✅ 使用 SCM(最常见)

pipeline {
    agent any

    stages {
        stage('拉取代码') {
            steps {
                git branch: 'main',
                    url: 'https://github.com/yourname/yourrepo.git',
                    credentialsId: 'git-credentials-id'
            }
        }
    }
}

3. 使用 SSH 拉取代码

git branch: 'main',
    url: 'git@github.com:yourname/yourrepo.git',
    credentialsId: 'ssh-key-id'

五、Credentials 配置(重点)

添加凭证

Manage Jenkins → Credentials → System → Global credentials

类型 场景
Username + Password HTTPS Git
SSH Private Key Git SSH
Personal Access Token GitHub / GitLab

六、Webhook 自动触发(Git → Jenkins)

1. Jenkins 安装插件

  • ✅ GitLab Plugin / GitHub Integration Plugin

2. 配置触发器

Build Triggers →

  • ✅ GitHub hook trigger for GITScm polling

3. Git 仓库配置 Webhook

http://jenkins地址/github-webhook/

七、常见问题

❌ Jenkins 拉不到代码

  • Git 未安装
  • 凭证错误
  • 分支名错误
  • 网络 / 防火墙问题

❌ Permission denied (publickey)

  • Jenkins 用户没有 SSH key
  • 未将公钥加入 Git 仓库

八、总结一句话

Jenkins 关联 Git = 安装 Git + 配置仓库地址 + 配置凭证 +(可选)Webhook 自动触发


如果你愿意,我可以:

  • ✅ 给你 GitHub / GitLab / Gitee 的具体配置示例
  • ✅ 帮你排查 拉取失败日志
  • ✅ 写一个 完整 Jenkinsfile 示例

你现在用的是 Freestyle 还是 Pipeline

0