部署gerrit+mysql+ngnix
系统与环境
- ubuntu18.04
- mysql5.7
- ngnix
- java-8-openjdk-amd64
安装基础环境工具
sudo apt-get install git-core wget
安装JDK
确认支持版本:
apt-cache search openjdksudo apt-get install openjdk-8-jre-headless或者安装 oracle-java8
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
安装数据库
安装mysql5.7
apt-cache search mysql-serversudo apt-get install mysql5.7其他参见mysql的安装文档
https://blog.csdn.net/chenclassyi/article/details/104231559
创建gerrit数据库
登录mysql
mysql -u root -p; 创建数据库CREATE USER 'gerrit'@'localhost' IDENTIFIED BY '密码,配置gerrit使用';
CREATE DATABASE reviewdb DEFAULT CHARACTER SET 'utf8';
GRANT ALL ON reviewdb.* TO 'gerrit'@'localhost';
FLUSH PRIVILEGES;
quit;
CREATE USER 'gerrit'@'localhost' IDENTIFIED BY 'cvtegerrit';
数据设置
登录mysql 执行
set global explicit_defaults_for_timestamp=1;解决gerrit安装时如下报错:CREATE TABLE changes (
change_key VARCHAR(60) BINARY DEFAULT '' NOT NULL,
created_on TIMESTAMP NOT NULL,
last_updated_on TIMESTAMP NOT NULL,
owner_account_id INT DEFAULT 0 NOT NULL,
dest_project_name VARCHAR(255) BINARY DEFAULT '' NOT NULL,
dest_branch_name VARCHAR(255) BINARY DEFAULT '' NOT NULL,
status CHAR(1) DEFAULT ' ' NOT NULL,
current_patch_set_id INT DEFAULT 0 NOT NULL,
subject VARCHAR(255) BINARY DEFAULT '' NOT NULL,
topic VARCHAR(255) BINARY,
original_subject VARCHAR(255) BINARY,
submission_id VARCHAR(255) BINARY,
assignee INT,
is_private CHAR(1) DEFAULT 'N' NOT NULL CHECK (is_private IN ('Y','N')),
work_in_progress CHAR(1) DEFAULT 'N' NOT NULL CHECK (work_in_progress IN ('Y','N')),
review_started CHAR(1) DEFAULT 'N' NOT NULL CHECK (review_started IN ('Y','N')),
revert_of INT,
note_db_state TEXT,
row_version INT DEFAULT 0 NOT NULL,
change_id INT DEFAULT 0 NOT NULL
,PRIMARY KEY(change_id)
)at com.google.gwtorm.jdbc.JdbcExecutor.execute(JdbcExecutor.java:44)at com.google.gwtorm.jdbc.JdbcSchema.createRelations(JdbcSchema.java:134)at com.google.gwtorm.jdbc.JdbcSchema.updateSchema(JdbcSchema.java:104)at com.google.gerrit.server.schema.SchemaCreator.create(SchemaCreator.java:142)at com.google.gerrit.server.schema.SchemaUpdater.update(SchemaUpdater.java:104)at com.google.gerrit.pgm.init.BaseInit$SiteRun.upgradeSchema(BaseInit.java:383)at com.google.gerrit.pgm.init.BaseInit.run(BaseInit.java:144)at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:61)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:226)at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:122)at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:66)at Main.main(Main.java:28)
安装gerrit
创建gerrit用户
sudo adduser gerrit
su gerrit
安装应用
官方下载地址: https://www.gerritcodereview.com/releases-readme.html
创建gerrit安装目录
提前下好mysql驱动( 安装时下载可能比较慢 )
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.43/mysql-connector-java-5.1.43.jarmkdir gerrit_app
mkdir gerrit_app/libcp -f mysql-connector-java-5.1.43.jar gerrit_app/lib/
- 安装配置
java -jar gerrit-2.16.8.war init -d /home/gerrit/gerrit_app/Using secure store: com.google.gerrit.server.securestore.DefaultSecureStoreassuming defaults*** Gerrit Code Review 2.16.8
****** Git Repositories
***Location of Git repositories [git]:*** SQL Database
***Database server type [h2]: mysql
Server hostname [localhost]:
Server port [(mysql default)]:
Database name [reviewdb]:
Database username [gerrit]:
gerrit's password :confirm password :*** Index
***Type [lucene/?]:*** User Authentication
***Authentication method [openid/?]: http
Get username from custom HTTP header [y/N]?
SSO logout URL :
Enable signed push support [y/N]?*** Review Labels
***Install Verified label [y/N]?*** 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-8-openjdk-amd64/jre]:
Copy gerrit-2.16.8.war to /home/gerrit/gerrit_app/bin/gerrit.war [Y/n]?
Copying gerrit-2.16.8.war to /home/gerrit/gerrit_app/bin/gerrit.war*** SSH Daemon
***Listen on address [*]:
Listen on port [29418]:
Generating SSH host key ... rsa... ed25519... ecdsa 256... ecdsa 384... ecdsa 521... done*** HTTP Daemon
***Behind reverse proxy [y/N]?
Use SSL (https://) [y/N]?
Listen on address [*]: 127.0.0.1
Listen on port [8080]: 8086
Canonical URL [http://127.0.0.1:8086/]:*** Cache
****** Plugins
***Installing plugins.
Install plugin codemirror-editor version v2.16.8 [y/N]?
Install plugin commit-message-length-validator version v2.16.8 [y/N]?
Install plugin download-commands version v2.16.8 [y/N]?
Install plugin hooks version v2.16.8 [y/N]?
Install plugin replication version v2.16.8 [y/N]?
Install plugin reviewnotes version v2.16.8 [y/N]?
Install plugin singleusergroup version v2.16.8 [y/N]?
Initializing plugins.
No plugins found with init steps.
- 启动gerrit
./gerrit_app/bin/gerrit.sh start查看运行端口
netstat -ltpn | grep -i gerrit
==>
tcp 0 0 :::29418 :::* LISTEN 49513/GerritCodeRev
tcp 0 0 :::8080 :::* LISTEN 49513/GerritCodeRev
- gerrit.config文件
vim gerrit_app/etc/gerrit.config
==>
[gerrit]basePath = gitserverId = 1a3cdccd-a508-4a1b-bbb7-c2f44cc674becanonicalWebUrl = http://127.0.0.1:8086/
[database]type = mysqlhostname = localhostdatabase = reviewdbusername = gerrit
[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 = gerritjavaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre
[index]type = LUCENE
[auth]type = HTTP
[receive]enableSignedPush = false
[sendemail]smtpServer = localhost
[sshd]listenAddress = *:29418
[httpd]listenUrl = http://127.0.0.1:8086/
[cache]directory = cachecanonicalWebUrl 就是gerrit的主页地址
安装ngnix
安装应用
sudo apt-get install nginx apache2-utils
配置ngnix
sudo vim /etc/nginx/site-enable/default添加:
server {listen *:8085; ## 配置登录端口号, 输入网址时需要使用server_name localhost;allow all;deny all;location / {auth_basic "Gerrit Code Review";# http登录密码文件auth_basic_user_file /home/gerrit/htpasswd.conf;# 跳转到gerrit应用, 端口号匹配gerrit安装设置的监听端口proxy_pass http://127.0.0.1:8086;proxy_set_header X-Forwarded-For $remote_addr;proxy_set_header Host $host;}location /login/ {proxy_pass http://127.0.0.1:8086/;proxy_set_header X-Forwarded-For $remote_addr;proxy_set_header Host $host;}}重启服务
sudo service nginx restart
配置登录密码
sudo chmod 755 /home/gerrit/cd /home/gerrit/
sudo htpasswd -c htpasswd.conf admin
输入密码: 123456 sudo chmod 755 htpasswd.conf
大工告成
- http://localhost:8085
参考文章
- https://blog.csdn.net/Cailand/article/details/93205089
- https://blog.csdn.net/peterxiaoq/article/details/73330314
- https://blog.csdn.net/allhaillouis/article/details/46374959
- http://blog.sina.com.cn/s/blog_6e05157f0102wr0l.html
部署gerrit+mysql+ngnix相关推荐
- CI持续集成系统环境---部署gerrit环境完整记录
转载自: http://www.cnblogs.com/kevingrace/p/5624122.html 开发同事提议在线上部署一套gerrit代码审核环境,废话不多说,部署gerrit的操作记录如 ...
- Linux服务集群部署实战--MySQL、Redis、ES、RocketMQ、Zookeeper
部署架构 部署计划 MySQL服务部署 架构 规划 部署pxc集群 部署MySQL主从架构 部署mycat集群 创建表以及测试 部署HAProxy redis集群部署 redis集群采用3主3从的架构 ...
- docker mysql 生产环境_如何部署Docker MySQL生产环境?
1 前言 Docker容器原则上是短暂的,如果容器被删除或损毁,数据或配置将丢失,所以上个章节部署的MySQL只适合于测试环境,由于生产的需求,本章将使用Docker卷机制持久保存Docker容器中创 ...
- Docker部署Django+Mysql+uWSGI+Nginx Web应用 - 笔记更新2022-01-04
Docker 部署Django+Mysql+uWSGI+Nginx Web应用 Change logs更新记录 2022/1/4 fixed web access problem of wide ar ...
- Linux系统部署Nginx+Mysql+PHP,在WEB服务器上部署ecshop网站。
Nginx下网站部署实战 题目:部署Nginx+Mysql+PHP,在WEB服务器上部署ecshop网站. 一. 搭建Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理we ...
- 网络云盘项目——Redis部署、MySQL部署、MySQL表设计
一.本文目的 本项目分为6篇博客文章完成: 1.项目总体介绍:https://blog.csdn.net/qq_41453285/article/details/107871393. 2.Redis部 ...
- docker 服务应用部署集合 tomcat ngnix redis mysql mongodb
文章目录 docker的资料 1 docker 安装与配置 1.0 简介 1.0.1 容器与虚拟机比较 1.0.2 docker 的优势和特点 1.1 docker的安装 1.2 docker 常命令 ...
- docker部署tomcat+mysql服务
mysql服务 以sql文件clock_in.sql为例 当然也可以选择直接先起一个mysql容器,用数据库管理工具建.这边主要是为了自动部署. clock_in.sql /* Navicat MyS ...
- ubuntu系统下安装docker并部署Springboot+mysql+redis
目录 安装Docker Docker常用命令 构建mysql容器 构建Redis容器 构建Springboot应用镜像及容器 (1)springboot使用maven将程序打成jar包,接着编写Dok ...
最新文章
- C#设置本地网络(DNS、网关、子网掩码、IP)
- 项目管理(一)计时计件
- 五大经典算法之回溯法
- MTK Android 编译命令
- frp 后台地址_Frp后台自动启动的几个方法
- ORM框架之Mybatis(五)mybatis生成器配置文件说明以及生成的类的说明
- [转载] python中断响应_用Python脚本监测.py脚本的进程状态,并实现中断重启。
- spring aop示例_具有AOP事务管理的Spring ORM示例
- 设计模式学习笔记(3)装饰器
- ORA-27101: shared memory realm does not exist 错误的处理(ORA-01034 - Oracle not available )
- C#获取C# DLL中的指定接口的所有实现实例 - qq_19759475的博客 - CSDN博客
- 性能测试知多少----性能测试分类之我见
- 怎么添加group_家居装修时,自由装修怎么进行设计,室内怎么改造更合适?
- 服务器压力测试知识集锦
- 学python的网课_python网课学习笔记--4
- 第三十九期:1024特别版:向“程序媛们”致敬!
- poj入门水题整理1--按刷题顺序解释
- github在线修改文章
- 国际上的三大标准组织
- DNS信息查询综合实验