持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

一、背景

之前的项目是 public 的,如果我们在 gitlab上面把它修改成 private,然后再次打开配置,就可能会出现下面的错误,两种协议都会进行报错。

名称 IP 备注
Jenkins 172.18.2.101 内网IP
Gitlab 172.18.2.100 内网IP

ssh 协议

http 协议

二、ssh 协议配置

1、在 Jenkins 服务器上面生产 SSH Keys

如果要通过 git 协议拉取代码,需要建立 Jenkins 服务器和 Gitlab 服务器的无密码通信,我们首先要生存一组密钥对。

ssh-keygen -t rsa -C "wzlinux"
[root@jenkins ~]# ll .ssh/
total 12
-rw------- 1 root root 1675 Sep  3 22:05 id_rsa
-rw-r--r-- 1 root root  408 Sep  3 22:05 id_rsa.pub
-rw-r--r-- 1 root root  348 Sep  4 21:21 known_hosts

2、在 Gitlab 上面配置生产的 SSH Keys

我们登录 gitlab,打开自己的用户设置,选择 SSH Keys 选项进行配置,填写我们刚刚生成的公钥(id_rsa.pub)。
SSH Keys 帮助我们建立 jenkins 到 gitlab 的安全无密码连接。

3、在 jenkins 服务器上面测试代码拉取

[root@jenkins test]# git clone git@172.18.2.100:java/game.git
Cloning into 'game'...
remote: Enumerating objects: 1768, done.
remote: Counting objects: 100% (1768/1768), done.
remote: Compressing objects: 100% (584/584), done.
remote: Total 1768 (delta 1112), reused 1768 (delta 1112)
Receiving objects: 100% (1768/1768), 15.02 MiB | 0 bytes/s, done.
Resolving deltas: 100% (1112/1112), done.

我们可以看到,配置了SSH Keys之后,我们可以直接在服务器上面无密码拉取代码了。

4、再次打开jenkins任务配置

当我们再次打开配置,发现认证还是有问题,这时候我们需要添加认证,因为 jenkins 并不知道我们的秘钥。

添加私钥,然后确定。

认证选择我们刚刚添加的私钥,已经不再报错。

5、构建测试

修改了权限之后,我们重新构建项目,查看整个过程。

没有任何问题,SSH Keys权限认证通过。

三、http 协议配置

1、配置认证

和 ssh 基本一样,我们只需要再添加认证的时候写我们在 gitlab 上面的用户名密码即可。

然后再选择对应的认证方法。

2、构建测试

拉取代码也没有什么问题。

(0)

相关推荐

  • Jenkins+Ansible+GitLab持续交付平台搭建-第2篇

    这篇文章将继续给大家介绍Jenkins+Ansible+GitLab持续交付平台搭建. Jenkins+Ansible+GitLab持续交付平台搭建-第1篇 GitLab使用 1.创建一个新项目 ht ...

  • jenkins~Publish Over SSH实现分布式部署

    之前写过关于jenkins-nodes来实现的分布式构建的文章,并在实际工作中得到了运用,确实加快的构建的速度:而如果你的项目分布在不同的服务器上,在jenkins构建完成之后,就需要将代码推到目标服 ...

  • 持续集成之 Jenkins 配置基于角色的项目权限管理(五)

    一.前言 Jenkins是个好东西,开发运维测试的老江湖应该都听过,在此我就不再多做介绍jenkins是个什么东西了. jenkins自身的权限管理,无法实现用户指定显示视图或者视图中指定的jobs, ...

  • 持续集成之 Jenkins 的安装与配置(一)

    一.持续集成的概念 Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能.Jenkins是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,功能包 ...

  • 持续集成 Jenkins +Gitlab + SSH 自动发布 HTML 代码

    一.整体流程 二.Jenkins 配置 2.1.首先安装插件 Gitlab Hook Plugin GitLab Plugin Publish Over SSH 2.2.配置目标服务器 系统管理 -- ...

  • Jenkins持续集成

    时间 主题 8.13(周二)14:00 WebDriver鼠标键盘操作 8.14(周三)20:00 Jenkins持续集成 在传统的瀑布开发模型中,是所有人写好代码之后提交版本管理工具,然后统一进行合 ...

  • Docker版Jenkins持续集成

    随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能再不断变化的 ...

  • 使用Jenkins实现项目持续集成部署

    十多年前,敏捷开发人员开始拥抱并促进测试驱动的开发和持续集成(CI).利用这些技术,只要开发人员将源代码检查到源存储库中,我们就可以自动构建源代码,执行详尽的单元测试套件以确保应用程序正常运行.许多测 ...

  • Jenkins持续集成的13种替代方案

    在<Jenkins越来越老了-现在该继续前进>,我们讨论了Jenkins最常见的问题,这些问题促使我们寻找替代方法.这就是为什么在本文中,我们提供了用于持续集成的最常见的Jenkins替代 ...

  • 持续集成、持续交付和持续部署有什么区别?0基础学linux

    持续集成.持续交付和持续部署有什么区别?很多人在学习Linux运维技能时总是分不清楚这三个知识点.那么我们一起来看下吧. 1持续集成 持续集成,一种软件工程流程,将所有工程师对于软件的工作复本,每天集 ...

  • 仙人球不开花?用上一种肥,三个条件做足,就能持续开花

    我们养仙人球主要是因为它开花漂亮,但是好多人说我养的仙人球不开花,是不是自己买到的仙人球品种它就是一个不开花的仙人球,并不是你想象的那样,如果你想要让仙人球开花,首先要选对肥料,给他用上一种肥,再把三 ...