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

相关文章

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

RabbitMQ使用及与spring boot整合

1.MQ   消息队列(Message Queue,简称MQ)——应用程序和应用程序之间的通信方法   应用:不同进程Process/线程Thread之间通信   比较流行的中间件:     ActiveMQ     RabbitMQ(非常重量级,更适合于企业级的开发)     Kafka(高吞吐量的分布式发布订阅消息系统)     RocketMQ   在高并发、可靠性、成熟度等

springboot整合swagger2之最佳实践

来源:https://blog.lqdev.cn/2018/07/21/springboot/chapter-ten/ Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。 一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,加上swagger-ui,可以有很好的呈现。 SpringBoot集成 pom <!--swagge

springboot 整合swagger

没有多余废话,就是干 spring-boot 2.7.8 springfox-boot-starter 3.0.0 结构 POM.xml <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/

Jenkins 通过 Version Number Plugin 自动生成和管理构建的版本号

步骤 1:安装 Version Number Plugin 登录 Jenkins 的管理界面。进入 “Manage Jenkins” -> “Manage Plugins”。在 “Available” 选项卡中搜索 “Version Number Plugin”。选中并安装插件,完成后可能需要重启 Jenkins。 步骤 2:配置版本号生成 打开项目配置页面。在下方找到 “Build Env

uniapp,vite整合windicss

官方文档:https://weapp-tw.icebreaker.top/docs/quick-start/frameworks/hbuilderx 安装: npm i -D tailwindcss postcss autoprefixer# 初始化 tailwind.config.js 文件npx tailwindcss initnpm i -D weapp-tailwindcss# 假

Jenkins自动构建部署项目

1. 楔子 在实际开发中,经常需要编译、静态代码检查、自动化测试、打包、部署、启动等一连串重复机械的动作,浪费时间、而且容易出错,而Jenkins就是专门Continuous integration(CI)/ Continuous Deploy(CD)开源工具,本文简单介绍Jenkins的使用。 在线无安装免费试用Jenkins:http://www.jenkins.org.cn/test

jenkins--节点的简单配置

添加节点 准备:在master上安装插件SSH 插件 Master即部署jenkins的机器,master通过网络向节点机器发布构建命令。 添加节点,需要一台独立的机器,可以是windows​机器或linux机器或虚拟机都可以。 ​配置节点: 在Manage Jenkins中打开Manage Nodes: 添加节点步骤–安装JDK(在linux上安装) 检查是否安装过JDK yum