gerrit、gitlab以及jenkins整合(未完待续)

2024-06-04 05:38

本文主要是介绍gerrit、gitlab以及jenkins整合(未完待续),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在bitnami上下载一键安装的gitlab。是直接在vmware上运行的。以我这边为例,它启动后,地址为192.168.48.143,这个就如同github的地址。默认用户是root,密码是bitnami1.可以自己注册一个账号。我们可以用root用户创建一个group,里面可以添加用户,在group中创建一个工程,并给工程添加用户,注意不能用Guest角色。那样会导不出工程。

gitlab可以不使用ssh。而是使用http,因为这边环境老是出现拒绝连接的现象。不过要注意用http时,要先使用 git config --global http.sslVerify false才行,否则报unable to access 'https://': SSL certificate problem: self signed certificate...

--------------------------------------------

安装gerrit,比较繁琐。与gitlab不在一个服务器上,ip为12.168.48.131.需要git+apache+nginx+gerrit。centos7安装git、apache、nginx这里就不介绍了。前两者的安装参考http://blog.csdn.net/mqmmx/article/details/47058739。

之后就是安装gerrit,除了auth那一块使用http,其它可以一路默认,之后对在类似/home/gerrit/gerrit_site/etc中的gerrit.config进行修改,之后就是nginx配置文件的修改。附上我的nginx配置文件:

 server {
     listen     81;
     server_name localhost;
     allow   all;
     deny    all;
     auth_basic "Welcomme to Gerrit Code Review Site!";
     auth_basic_user_file /home/gerrit/gerrit.password;
     location / {
        proxy_pass  http://localhost:8080;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
     }
   }

其中8080是gerrit的服务端口。这部分我主要参考了http://blog.csdn.net/peterxiaoq/article/details/73330314

apache 主要就是用来操作 htpasswd -c /home/gerrit/gerrit.password admin,就是为gerrit创建一个用户,第二次使用htpasswd -m /home/gerrit/gerrit.password gerrit来创建用户,第一次登录gerrit的用户就是管理员,可以配置多个用户。连接gerritt就要使用ssh了。

可以用命令连接gerrit:

ssh-keygen -t rsa -C "管理员" -f ~/.ssh/admin 可以创建admin的秘钥,windows如果有git bash,那么也可以用这个命令。注意“管理员”是gerritweb页面中的fullname,可以在web中设置,非username。 windows的git bash可以用ssh -T -p 29418 gerrit@192.168.48.131测试能否连接

ssh -p 29418 -i ~/.ssh/admin 192.168.48.131 -l admin。就会去登录。如果觉得麻烦,可以在.ssh中创建一个文件config,写入:

Host ha
    HostName 192.168.1.101
    User admin            # 注意:这里的admin是gerrit注册的用户名
    Port 29418
    IdentityFile ~/.ssh/admin

下次用ssh ha就可以了。如果报Bad owner or permissions on /home/gerrit/.ssh/config。那么就用chmod 600 config(普通用户也能执行这个命令,非root)。

--------------------------------------------------------------------------------------------------------------------

从gitlab克隆一个项目,可以使用ssh,也可以使用http,我就是使用了http。git clone https://192.168.48.143/dev-group/mygitlab1.git就可以pull过来,但是需要gitlab的用户和密码的。如果报403,那么就是你填写的用户可能是guest,用developer就不会了。如果unable to access 'https://': SSL certificate problem: self signed certificate...,那么就要

使用git config --global http.sslVerify false了。拷贝下来之后,文件是在home/gerrit下的。

你可以修改,诸如:

$ git config --global user.name 'gerrit'
$ git config --global user.email 'gerrit@example.com'
$ touch testfile
$ git add testfile
$ git commit -m 'gerrit add testfile'
$ git push

但一般用户没有push的权限。这里参考了http://www.cnblogs.com/kevingrace/p/5651447.html(很有用)

-----------------------------------------------------------------------------------------------------------------------------------------------

jenkins我是用windows搭建的,安装Gerrit Trigger插件和Git plugin插件,后者貌似自带的。

然后在系统管理中找到Gerrit Trigger,创建服务,名字自定义,

要填的如下:

Hostname 192.168.48.131

Frontend URL http://192.168.48.131:8080

SSH Port 29418(注意你的192.168.48.131服务器要开放这个端口)

Username gerrit

SSH Keyfile 就是windows下用git bash生成的gerrit文件(ssh-keygen -t rsa -C "gerrit" -f ~/.ssh/gerrit)。gerrit.pub中的内容拷贝到gerrit的ssh key中(通过192.168.48.131:81反向代理的web页面)(ssh-keygen -t rsa -C “admin@example.com”也可以生成ssh key)

SSH Keyfile Password 我们不用填。点击测试,如果成功,就保存。如果报错:

管理员(admin)登录gerrit服务器
Projects->List->All-Projects
Projects->Access
Global Capabilities->Stream Events 点击 Non-Interactive Users
添加 gerrit 用户到 ‘Non-Interactive Users’ 组试试。

-----------------------

save后,点击红色球会变蓝即可。


这篇关于gerrit、gitlab以及jenkins整合(未完待续)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1029213

相关文章

Spring Boot整合消息队列RabbitMQ的实现示例

《SpringBoot整合消息队列RabbitMQ的实现示例》本文主要介绍了SpringBoot整合消息队列RabbitMQ的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录RabbitMQ 简介与安装1. RabbitMQ 简介2. RabbitMQ 安装Spring

Docker部署Jenkins持续集成(CI)工具的实现

《Docker部署Jenkins持续集成(CI)工具的实现》Jenkins是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins... 目录前言一、准备工作二、设置变量和目录结构三、配置 docker 权限和网络四、启动 Jenkins

Spring Boot 3 整合 Spring Cloud Gateway实践过程

《SpringBoot3整合SpringCloudGateway实践过程》本文介绍了如何使用SpringCloudAlibaba2023.0.0.0版本构建一个微服务网关,包括统一路由、限... 目录引子为什么需要微服务网关实践1.统一路由2.限流防刷3.登录鉴权小结引子当前微服务架构已成为中大型系统的标

SpringBoot整合easy-es的详细过程

《SpringBoot整合easy-es的详细过程》本文介绍了EasyES,一个基于Elasticsearch的ORM框架,旨在简化开发流程并提高效率,EasyES支持SpringBoot框架,并提供... 目录一、easy-es简介二、实现基于Spring Boot框架的应用程序代码1.添加相关依赖2.添

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Spring Boot整合log4j2日志配置的详细教程

《SpringBoot整合log4j2日志配置的详细教程》:本文主要介绍SpringBoot项目中整合Log4j2日志框架的步骤和配置,包括常用日志框架的比较、配置参数介绍、Log4j2配置详解... 目录前言一、常用日志框架二、配置参数介绍1. 日志级别2. 输出形式3. 日志格式3.1 PatternL

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

Ollama整合open-webui的步骤及访问

《Ollama整合open-webui的步骤及访问》:本文主要介绍如何通过源码方式安装OpenWebUI,并详细说明了安装步骤、环境要求以及第一次使用时的账号注册和模型选择过程,需要的朋友可以参考... 目录安装环境要求步骤访问选择PjrIUE模型开始对话总结 安装官方安装地址:https://docs.

Spring Boot 整合 ShedLock 处理定时任务重复执行的问题小结

《SpringBoot整合ShedLock处理定时任务重复执行的问题小结》ShedLock是解决分布式系统中定时任务重复执行问题的Java库,通过在数据库中加锁,确保只有一个节点在指定时间执行... 目录前言什么是 ShedLock?ShedLock 的工作原理:定时任务重复执行China编程的问题使用 Shed

SpringBoot 整合 Grizzly的过程

《SpringBoot整合Grizzly的过程》Grizzly是一个高性能的、异步的、非阻塞的HTTP服务器框架,它可以与SpringBoot一起提供比传统的Tomcat或Jet... 目录为什么选择 Grizzly?Spring Boot + Grizzly 整合的优势添加依赖自定义 Grizzly 作为