温馨提示×

centosjenkins怎样连git

小樊
39
2026-10-17 23:33:48
栏目: 智能运维

在 CentOS 上使用 Jenkins 连接 Git,一般分为 Jenkins 安装 Git、配置 Git、配置凭证、创建任务连接仓库 几个步骤。下面按常见场景给你说明(以 GitLab / GitHub / Gitee 都适用)。


一、CentOS 上安装 Git

先在 Jenkins 所在服务器安装 Git:

sudo yum install -y git

验证:

git --version

二、Jenkins 中配置 Git 路径

  1. 登录 Jenkins
  2. 进入
    Manage Jenkins → Global Tool Configuration
  3. 找到 Git
  4. 点击 Add Git
    • Name: Default
    • Path to Git executable:
      /usr/bin/git
      
    (可用 which git 查看路径)
  5. 保存

三、Jenkins 安装 Git 插件

  1. Manage Jenkins → Manage Plugins
  2. 搜索并安装:
    • ✅ Git
    • ✅ Git client
    • ✅ Pipeline(如用流水线)
  3. 安装后重启 Jenkins

四、配置 Git 凭证(重要)

方式一:使用用户名 + 密码(或 Token)

适用于:

  • GitHub / GitLab / Gitee 账号密码
  • 推荐用 Token 代替密码

步骤:

  1. Manage Jenkins → Credentials → System → Global credentials
  2. 点击 Add Credentials
  3. 类型选择:
    • Username with password
  4. 填写:
    • Username: git 用户名
    • Password: 密码 或 Access Token
  5. ID 可自定义(如 git-cred)
  6. 保存

方式二:使用 SSH 密钥(推荐服务器环境)

1. 生成 SSH 密钥(在 Jenkins 服务器)

sudo -u jenkins ssh-keygen -t rsa -C "jenkins@centos"

默认路径:

/var/lib/jenkins/.ssh/id_rsa

2. 把公钥加到 Git 仓库

查看公钥:

cat /var/lib/jenkins/.ssh/id_rsa.pub

复制到:

  • GitHub / GitLab / Gitee 的 SSH Keys

3. Jenkins 添加 SSH 凭证

  1. Credentials → Add
  2. 类型:SSH Username with private key
  3. Username: git
  4. Private Key:
    • 选择 Enter directly
    • 粘贴 /var/lib/jenkins/.ssh/id_rsa 内容
  5. 保存

五、Jenkins 任务连接 Git

FreeStyle 项目

  1. 新建任务 → Freestyle project
  2. 源码管理 → Git
  3. Repository URL:
    • HTTPS:
      https://github.com/user/repo.git
      
    • SSH:
      git@github.com:user/repo.git
      
  4. Credentials:选择刚才创建的
  5. 分支:*/main 或 */master
  6. 保存并构建

Pipeline 示例

pipeline {
    agent any
    stages {
        stage('Checkout') {
            steps {
                git branch: 'main',
                    url: 'git@github.com:user/repo.git',
                    credentialsId: 'git-ssh'
            }
        }
    }
}

六、常见问题排查

1. Permission denied (publickey)

  • 确认 Jenkins 用户能读 .ssh
  • 测试:
sudo -u jenkins git ls-remote git@github.com:user/repo.git

2. Host key verification failed

sudo -u jenkins ssh-keyscan github.com >> /var/lib/jenkins/.ssh/known_hosts

3. Could not find git

  • 检查 Git 路径配置是否正确

如果你愿意,可以告诉我:

  • ✅ Jenkins 版本
  • ✅ Git 类型(GitHub / GitLab / Gitee)
  • ✅ 用密码还是 SSH

我可以给你 精确配置步骤或 Jenkinsfile 模板。

0 踩