ubuntu 20.04LTS + gerrit + git + jenkins安装指南

目录

目的

1、软件准备

2、安装ubuntu

2.1、制作U盘启动盘

2.2、安装步骤

3、安装前的准备工作

3.1 给ubuntu缺省的root用户添加密码 

3.2 创建一个gerrit用户

3.3 安装JAVA环境

4. ngnix安装与卸载

4.1 安装ngnix

4.2 卸载ngnix

4.3 ngnix启动与停止

5 安装git

6 安装gerrit

6.1 gerrit 下载

6.2 gerrit安装

6.3 修改gerrit.sh

6.4 配置gerrit.config

6.5 配置ngnix反向代理

7 登录认证

8 安装genkins


目的

最近想在局域网搭建一个软件版本管理、代码审查、及CI的开发环境,看了很多博客,内容比较分散,且失败了很多次,也走了不少弯路,现在把成功的步骤记录下来,以便于后期参考。

1、软件准备

1、ubuntu 20.04 LTS 

2、gerrit-2.16.25.war

3、jenkins_2.249.3_all.deb

2、安装ubuntu

2.1、制作U盘启动盘

2.2、安装步骤

3、安装前的准备工作

3.1 给ubuntu缺省的root用户添加密码 

注意:后面有些操作需要进入到root用户进行配置,如果你已经有root的权限,此步骤请跳过

Step1:ctrl + alt + T             # 打开terminal
Step2:sudo passwd root           # 按照提示设置password.
Step3:su root                    # 按照提示输入刚设置的password,切换到root用户

3.2 创建一个gerrit用户

以下步骤在root用户下完成

  • 添加一个gerrit专用用户,后续配置gerrit用
sudo adduser gerrit       # 创建一个gerrit用户
sudo passwd gerrit        # 为gerrit用户增加登录密码
  • 增加sudo权限
### 方法1:
sudo usermod -a -G sudo gerrit

### 方法2:
# Step1:
vi /etc/sudoers               # 打开sudoers文件

# Step2:
# 在 root ALL=(ALL:ALL) ALL的下面增加一行:
username ALL=(ALL:ALL) ALL    # username是你要添加的用户

# Step3:
su username                   # 切出root到你需要的用户下面
  • 切换到gerrit账号
sudo su gerrit

3.3 安装JAVA环境

下面的安装步骤在gerrit用户下操作。

        # 第一步:打开终端,添加ppa源
        sudo add-apt-repository ppa:openjdk-r/ppa
        # 第二步:更新源
        sudo apt-get update
        # 第三步:安装openjdk 8
        sudo apt-get install openjdk-8-jdk
        # 第四步:配置openjdk 8为默认java环境
        sudo update-alternatives --config java
        sudo update-alternatives --config javac
        # 最后,验证一下是否成功
        java -version
        # 返回:
        openjdk version "1.8.0_91"
        OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~14.04-b14)
        OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

4. ngnix安装与卸载

Gerrit有两种工作方式,我们要采用 http 的工作方式,也就是代码审核人员,可以直接通过Web页面对提交的代码进行评审以及后续的操作。

然后Gerrit要求不能直接请求其端口,必须要使用反向代理才能正确登录。而我们知道Nginx的成功正在于其高效、轻量级以及 反向代理 ,虽然Apache也有反向代理的功能,但是如果你在安装Apache时没有开启,后续的开启过程要相对复杂一点,而Nginx就简单的多了。

4.1 安装ngnix

sudo apt-get update
sudo apt-get install nginx

4.2 卸载ngnix

sudo apt-get remove nginx nginx-common # 卸载删除除了配置文件以外的所有文件。
sudo apt-get purge nginx nginx-common # 卸载所有东东,包括删除配置文件。
sudo apt-get autoremove # 在上面命令结束后执行,主要是卸载删除Nginx的不再被使用的依赖包。
sudo apt-get remove nginx-full nginx-common #卸载删除两个主要的包。
sudo service nginx restart  #重启nginx

4.3 ngnix启动与停止

# nginx服务相关的指令
ps aux|grep nginx         # 查看nginx进程
service nginx start       # 启动Nginx服务
service nginx stop        # 停止Nginx服务
service nginx restart     # 重启Nginx服务
service nginx status      # 查看Nginx服务的状态


# 也可以到nginx目录下直接操作
/etc/init.d/nginx start   # 启动
/etc/init.d/nginx stop    # 关闭
/etc/init.d/nginx restart # 重启

service nginx reload      # 在Nginx服务启动的状态下,重新加载nginx.conf这个配置文件

5 安装git

git --version     # 查看git是否已经安装,安装后会返回: git version 2.25.1

# 如果没有安装,进行下面的步骤
sudo apt-get update
sudo apt-get install git

6 安装gerrit

6.1 gerrit 下载

官网下载地址:Gerrit Code Review Releases | Gerrit Code Review

6.2 gerrit安装

(1)首先将安装文件拷贝到(上传到)~/Downloads目录下

(2)执行下面的指令

    cd ~
    mkdir gerrit_site          # 创建一个目录,准备安装gerrit
    java -jar ~/Downloads/gerrit-2.16.25.war init -d ~/gerrit_site

下面是gerrit的安装向导,除了这个地方:【Authentication method          [OPENID/?]: http 】输入HTTP以外,其他一路敲回车即可。

*** Gerrit Code Review 2.25.16  
***
 
## git 代码仓库的位置, 默认会在之前敲的init -d 目录下新建一个git文件夹
## 我们回车表示默认地址
*** Git Repositories  
***  
 
Location of Git repositories   [git]:   
 
## 数据库类型,我们直接回车表示默认的h2
*** SQL Database  
***  
 
Database server type           [h2]:   
 
## 用户认证方式,注意!!!!!这里一定要手动输入 http, 其他的就直接回车
*** User Authentication  
***  
 
Authentication method          [OPENID/?]: http  
Get username from custom HTTP header [y/N]?  
SSO logout URL                 :  
## 发送email的配置,这里我们全部回车使用默认,之后通过配置文件进行修改  
*** Email Delivery  
***  
SMTP server hostname           [localhost]:  
SMTP server port               [(default)]:  
SMTP encryption                [NONE/?]:  
SMTP username                  :  
## 剩下的全部回车就好了,全部安装成默认的配置
*** Container Process  
***  
Run as                         [gerrit]:  
Java runtime                   [/usr/lib/jvm/java-7-openjdk-amd64/jre]:  
Copy gerrit-2.13.4.war to /home/gerrit/review/bin/gerrit.war [Y/n]?  n
Copying gerrit-2.13.4.war to /home/gerrit/review/bin/gerrit.war  
 
*** SSH Daemon  
***  
 
Listen on address              [*]:  
Listen on port                 [29418]:  
 
## 这里下载可能会失败,按照我之前说过的方法重新试一遍应该就ok了  
Gerrit Code Review is not shipped with Bouncy Castle Crypto SSL v151  
  If available, Gerrit can take advantage of features  
  in the library, but will also function without it.  
Download and install it now [Y/n]?  
Downloading http://www.bouncycastle.org/download/bcpkix-jdk15on-151.jar ...  
 
 
## http的反向代理,我们这里先不要设置,一路回车,尽快完成安装
*** HTTP Daemon  
***  
Behind reverse proxy           [y/N]?   
Proxy uses SSL (https://)      [y/N]?  
Subdirectory on proxy server   [/]:  
Listen on address              [*]:  
Listen on port                 [8080]:
// 插件安装
*** Plugins
***

Installing plugins.
Install plugin codemirror-editor version v2.16.25 [y/N]? y
Installed codemirror-editor v2.16.25
Install plugin commit-message-length-validator version v2.16.25 [y/N]? y
Installed commit-message-length-validator v2.16.25
Install plugin download-commands version v2.16.25 [y/N]? y
Installed download-commands v2.16.25
Install plugin hooks version v2.16.25 [y/N]? y
Installed hooks v2.16.25
Install plugin replication version v2.16.25 [y/N]? y
Installed replication v2.16.25
Install plugin reviewnotes version v2.16.25 [y/N]? y
Installed reviewnotes v2.16.25
Install plugin singleusergroup version v2.16.25 [y/N]? y
Installed singleusergroup v2.16.25
Initializing plugins.

6.3 修改gerrit.sh

sudo vi ~/gerrit_site/bin/gerrit.sh

在打开的文件中,添加一行:

GERRIT_SITE=/home/gerrit/gerrit_site

如下所示:

6.4 配置gerrit.config

(1)打开/新建配置文件:

sudo vi ~/gerrit_site/etc/gerrit.config

配置如下:

[gerrit]
        basePath = git
        serverId = fc9d61b3-8298-474c-b30c-2b3d97e2bf02
        canonicalWebUrl = http://192.168.1.8:8081/
[database]
        type = h2
        database = /home/gerrit/gerrit_site/db/ReviewDB
[noteDb "changes"]
        disableReviewDb = true
        primaryStorage = note db
        read = true
        sequence = true
        write = true
[container]
        javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance"
        javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance"
        user = gerrit
        javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre
[index]
        type = LUCENE
[auth]
        type = HTTP
[receive]
        enableSignedPush = false
[sendemail]
        enable = true
        smtpServer = smtp.sina.cn
        smtpServerPort = 465
        smtpEncryption = SSL
        sslVerify = true
        smtpUser = yourname@sina.cn
        smtpPass = yourpassword
[sshd]
        listenAddress = *:29418
[httpd]
        listenUrl = proxy-http://*:8081/
[cache]
        directory = cache

(2)重启gerrit服务

~/review_site/bin/gerrit.sh restart

6.5 配置ngnix反向代理

(1)创建一个gerrit.conf文件

cd /etc/ngnix/conf.d           # 进入到conf.d目录
sudo vi gerrit.conf            # 用vim创建一个gerrit.conf文件用于对nginx反向代理进行配置

(2)如下编辑gerrit.conf

server {
    listen *:81;
    server_name localhost;
    allow all;
    deny all;

    auth_basic "Welcome to Gerrit Code Review Site!";
    auth_basic_user_file /home/gerrit/gerrit_site/etc/gerrit.passwd;


    location / {
        proxy_pass http://127.0.0.1:8081;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
    }
}

(3)重启ngnix服务

sudo /etc/init.d/nginx restart       # 重启nginx
sudo /etc/init.d/nginx status        # 查看状态

7 登录认证

这里我们需要用apach的 htpasswd 工具来新建这个文件,虽然我使用了nginx代替apache做反向代理,但仍然需要apache。

我们通过下面的命令来在 /home/gerrit/gerrit_site/etc/ 路径下创建认证文件

(1)安装apache htpasswd

$ sudo apt-get install apache2-utils

(2)创建gerrit.password文件,并创建用户

htpasswd -c /home/gerrit/gerrit_site/etc/gerrit.password admin      # 创建第一个用户admin,同时会生成一个gerrit.password文件

htpasswd -m /home/gerrit/gerrit_site/etc/gerrit.password master     # 在gerrit.password增加用户用 -m

   执行上面的命令,会要求多次输入密码,改密码就是对应用户的登录密码。

(3)登录

   打开浏览器,在地址栏输入:http://192.168.1.8:81

   按照提示,输入用户名和密码,登录成功页面如下:

8 安装genkins

8.1 安装JAVA环境

参考上面的3.3小节

8.2  安装tomcat8

(1)安装与配置:参考博文:Ubuntu 16.04安装tomcat8_ubuntu 16.04 安装 tomcat8-CSDN博客

(2)tomcat8启动

sudo /etc/init.d/tomcat8 start       # 启动
sudo /etc/init.d/tomcat8 restart     # 重启
sudo /etc/init.d/tomcat8 stop        # 停止
sudo /etc/init.d/tomcat8 status

sudo /opt/tomcat8/bin/shutdown.sh    # 停止
sudo /opt/tomcat8/bin/startup.sh     # 启动

8.3 安装Jenkins

jenkins安装也可以参考这个文献:在Ubuntu上安装最新版Jenkins详细步骤 - 测试玉米君 - 博客园 (cnblogs.com)icon-default.png?t=N7T8https://www.cnblogs.com/dannyding/p/13570513.html

我们将启用Jenkins APT存储库,导入存储库GPG密钥,并安装Jenkins包。使用以下wget命令导入Jenkins存储库的GPG键:

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -

接下来,使用以下命令将Jenkins存储库添加到系统中:

sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

启用Jenkins存储库后,通过输入以下命令更新apt包列表并安装最新版本的Jenkins:

sudo apt-get update
sudo apt-get install jenkins

 由于国内下载较慢,APT install可能很慢或失败,可以直接下载软件包,浏览器输入以下链接即可:

 https://pkg.jenkins.io/debian-stable/binary/jenkins_2.235.1_all.deb

 然后,直接用安装包安装:

sudo dpkg -i jenkins_2.235.1_all.deb

(2)修改jenkins端口

jenkins缺省的端口号是8080,修改端口号不让jenkins占用8080端口。

  首先,修改/etc/init.d/jenkins脚本,如下修改完成后保存退出。

sudo /etc/init.d/jenkins
# 找到so_start函数的check_tcp_port, 将端口号从8080修改为8030
# 例如:check_tcp_port “http” “$HTTP_PORT” “8030” .....

  然后,修改/etc/default/jenkins文件,将端口8080改成8030,如下修改后保存退出

sudo /etc/default/jenkins
# httpPort=8030

最后,重新载入配置,并重启jenkins服务:

sudo systemctl daemon-reload
sudo /etc/init.d/jenkins restart

(3)jenkins的工作页面

在浏览器输入:http://localhost:8030,准备打开jenkins的页面,【注意】我遇到了这样的问题:“启动页面一直显示: jenkins正在启动,请稍后........”

解决方法:

cd /var/lib/jenkins/updates
sudo vi default.json
# 将 “connectionCheckUrl”:"http://www.google.com/" 修改为 "connectionCheckUrl":"http://www.baidu.com/"
sudo /etc/init.d/jenkins restart

(3)剩下的安装过程按照安装向导提示进行

可参考博客:https://www.cnblogs.com/adnny/p/13570513.html  , 从7.0小节开始参考。

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值