CentOS搭建gitblit
CentOS搭建gitblit
下载
- 下载 gitblit-1.9.1.tar.gz (当前最新版本)
- 传送至CentOS系统中
解压
gzip
- 压缩后的格式为:*.gz
- 这种压缩方式不能保存原文件;且不能压缩目录
- 命令举例:
1
2
3
4
5
6
7
8 #压缩
[root@localhost tmp]# gzip buodo
[root@localhost tmp]# ls
buodo.gz
#解压
[root@localhost tmp]# gunzip buodo.gz
[root@localhost tmp]# ls
buodo12345678
tar
- 命令选项:
1
2
3
4
5
6 -z(gzip) 用gzip来压缩/解压缩文件
-j(bzip2) 用bzip2来压缩/解压缩文件
-v(verbose) 详细报告tar处理的文件信息
-c(create) 创建新的档案文件
-x(extract) 解压缩文件或目录
-f(file) 使用档案文件或设备,这个选项通常是必选的。123456
- 命令举例:
1
2
3
4
5
6
7 #压缩
[root@localhost tmp]# tar -zvcf buodo.tar.gz buodo
[root@localhost tmp]# tar -jvcf buodo.tar.bz2 buodo
#解压
[root@localhost tmp]# tar -zvxf buodo.tar.gz
[root@localhost tmp]# tar -jvxf buodo.tar.bz21234567
在这里, 文件名为 gitblit-1.9.1.tar.gz
解压参数为:
- 解压 -> x
- gz -> z
- 详细输出 -> v, 此选项可有可无
- 指定 gitblit-1.9.1.tar.gz 文件 -> f
解压命令为
1 | tar -zxvf gitblit-1.9.1.tar.gz |
关于 gzip / gunzip
从下面信息可知, gzip比gunzip大, 再观察两者的帮助信息, 完全一样.
结论: gzip 包含 gunzip, gunzip 相当于 gzip -d (即gunzip只有解压缩没有压缩功能)
[root@localhost gitblit]# ls -l /usr/bin/gunzip
-rwxr-xr-x. 1 root root 2253 4月 11 2018 /usr/bin/gunzip
[root@localhost gitblit]# ls -l /usr/bin/gzip
-rwxr-xr-x. 1 root root 100800 4月 11 2018 /usr/bin/gzip
gzip/gunzip帮助信息, 通过对比, 一模一样
Usage: gzip [OPTION]… [FILE]…
Compress or uncompress FILEs (by default, compress FILES in-place).Mandatory arguments to long options are mandatory for short options too.
-c, –stdout write on standard output, keep original files unchanged
-d, –decompress decompress
-f, –force force overwrite of output file and compress links
-h, –help give this help
-l, –list list compressed file contents
-L, –license display software license
-n, –no-name do not save or restore the original name and time stamp
-N, –name save or restore the original name and time stamp
-q, –quiet suppress all warnings
-r, –recursive operate recursively on directories
-S, –suffix=SUF use suffix SUF on compressed files
-t, –test test compressed file integrity
-v, –verbose verbose mode
-V, –version display version number
-1, –fast compress faster
-9, –best compress better
–rsyncable Make rsync-friendly archiveWith no FILE, or when FILE is -, read standard input.
Report bugs to bug-gzip@gnu.org.
安装
进入文件夹, 查看文件
[root@localhost ~]# cd gitblit-1.9.1
[root@localhost gitblit-1.9.1]# ll
总用量 3712
-rwxr-xr-x. 1 root root 984 4月 5 2020 add-indexed-branch.sh
-rwxr-xr-x. 1 root root 98 4月 5 2020 authority.sh
drwxr-xr-x. 6 root root 153 11月 21 14:35 data
drwxr-xr-x. 5 root root 4096 11月 21 14:35 docs
drwxr-xr-x. 2 root root 4096 11月 21 14:35 ext
-rw-r–r–. 1 root root 3717404 4月 5 2020 gitblit.jar
-rwxr-xr-x. 1 root root 85 4月 5 2020 gitblit.sh
-rwxr-xr-x. 1 root root 92 4月 5 2020 gitblit-stop.sh
-rwxr-xr-x. 1 root root 87 4月 5 2020 install-service-centos.sh
-rwxr-xr-x. 1 root root 1312 4月 5 2020 install-service-fedora.sh
-rwxr-xr-x. 1 root root 92 4月 5 2020 install-service-ubuntu.sh
-rwxr-xr-x. 1 root root 997 4月 5 2020 java-proxy-config.sh
-rw-r–r–. 1 root root 11556 4月 5 2020 LICENSE
-rwxr-xr-x. 1 root root 601 4月 5 2020 migrate-tickets.sh
-rw-r–r–. 1 root root 12237 4月 5 2020 NOTICE
-rwxr-xr-x. 1 root root 640 4月 5 2020 reindex-tickets.sh
-rwxr-xr-x. 1 root root 1319 4月 5 2020 service-centos.sh
-rwxr-xr-x. 1 root root 1543 4月 5 2020 service-ubuntu.sh
[root@localhost gitblit-1.9.1]#
查看系统型号
[root@localhost gitblit-1.9.1]# cat /etc/os-release
NAME=”CentOS Linux”
VERSION=”7 (Core)”
ID=”centos”
ID_LIKE=”rhel fedora”
VERSION_ID=”7”
PRETTY_NAME=”CentOS Linux 7 (Core)”
ANSI_COLOR=”0;31”
CPE_NAME=”cpe:/o:centos:centos:7”
HOME_URL=”https://www.centos.org/"
BUG_REPORT_URL=”https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT=”CentOS-7”
CENTOS_MANTISBT_PROJECT_VERSION=”7”
REDHAT_SUPPORT_PRODUCT=”centos”
REDHAT_SUPPORT_PRODUCT_VERSION=”7”
由于 NAME=”CentOS Linux”, 则使用以下命令安装
1 | ./install-service-centos.sh |
运行服务
1 | ./service-centos.sh |
关于依赖
gitblit依赖java
查找可用 Java/JDK 包
[root@localhost gitblit-1.9.1]# yum search openjdk
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
base: mirrors.huaweicloud.com
epel: hkg.mirror.rackspace.com
extras: mirrors.huaweicloud.com
updates: mirrors.huaweicloud.com
======================================================================= N/S matched: openjdk =======================================================================
java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation
java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment without audio and video support
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk.i686 : OpenJDK Runtime Environment 8
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment 8
java-1.8.0-openjdk-accessibility.i686 : OpenJDK accessibility connector
java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
java-1.8.0-openjdk-demo.i686 : OpenJDK Demos 8
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos 8
java-1.8.0-openjdk-devel.i686 : OpenJDK Development Environment 8
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment 8
java-1.8.0-openjdk-headless.i686 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 8
java-1.8.0-openjdk-javadoc.noarch : OpenJDK 8 API documentation
java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed in a single archive
java-1.8.0-openjdk-src.i686 : OpenJDK Source Bundle 8
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle 8
java-11-openjdk.i686 : OpenJDK Runtime Environment 11
java-11-openjdk.x86_64 : OpenJDK Runtime Environment 11
java-11-openjdk-demo.i686 : OpenJDK Demos 11
java-11-openjdk-demo.x86_64 : OpenJDK Demos 11
java-11-openjdk-devel.i686 : OpenJDK Development Environment 11
java-11-openjdk-devel.x86_64 : OpenJDK Development Environment 11
java-11-openjdk-headless.i686 : OpenJDK Headless Runtime Environment 11
java-11-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 11
java-11-openjdk-javadoc.i686 : OpenJDK 11 API documentation
java-11-openjdk-javadoc.x86_64 : OpenJDK 11 API documentation
java-11-openjdk-javadoc-zip.i686 : OpenJDK 11 API documentation compressed in a single archive
java-11-openjdk-javadoc-zip.x86_64 : OpenJDK 11 API documentation compressed in a single archive
java-11-openjdk-jmods.i686 : JMods for OpenJDK 11
java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11
java-11-openjdk-src.i686 : OpenJDK Source Bundle 11
java-11-openjdk-src.x86_64 : OpenJDK Source Bundle 11
java-11-openjdk-static-libs.i686 : OpenJDK libraries for static linking 11
java-11-openjdk-static-libs.x86_64 : OpenJDK libraries for static linking 11
java-latest-openjdk.x86_64 : OpenJDK Runtime Environment 14
java-latest-openjdk-debug.x86_64 : OpenJDK Runtime Environment 14 with full debug on
java-latest-openjdk-demo.x86_64 : OpenJDK Demos 14
java-latest-openjdk-demo-debug.x86_64 : OpenJDK Demos 14 with full debug on
java-latest-openjdk-devel.x86_64 : OpenJDK Development Environment 14
java-latest-openjdk-devel-debug.x86_64 : OpenJDK Development Environment 14 with full debug on
java-latest-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 14
java-latest-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full debug on
java-latest-openjdk-javadoc.x86_64 : OpenJDK 14 API documentation
java-latest-openjdk-javadoc-zip.x86_64 : OpenJDK 14 API documentation compressed in a single archive
java-latest-openjdk-jmods.x86_64 : JMods for OpenJDK 14
java-latest-openjdk-jmods-debug.x86_64 : JMods for OpenJDK 14 with full debug on
java-latest-openjdk-src.x86_64 : OpenJDK Source Bundle 14
java-latest-openjdk-src-debug.x86_64 : OpenJDK Source Bundle 14 for packages with debug on
icedtea-web.x86_64 : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation
openprops.noarch : An improved java.util.Properties from OpenJDK名称和简介匹配 only,使用“search all”试试。
选择一个安装
[root@localhost gitblit-1.9.1]# yum install java-latest-openjdk.x86_64
关于yum源
速度慢可以切换一下
针对CentOS7配置步骤
备份
1
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
1
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
运行 yum makecache 生成缓存
其他
非阿里云ECS用户会出现 Couldn’t resolve host ‘mirrors.cloud.aliyuncs.com’ 信息,不影响使用。用户也可自行修改相关配置: eg:
1
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
我把其他全部禁用(就是添加后缀 .backup), 好快
关于一些问题
报错 - /opt/gitblit/java-proxy-config.sh: 没有那个文件或目录
正常情况应该完事了. 但是gitblit提供的服务安装思路与正常的不同.
- 运行 systemctl start gitblit 启动服务后, 进行访问, 却发现无法访问
- 使用 systemctl status gitblit 查看服务状态会发现如下错误
./service-centos.sh:行13: /opt/gitblit/java-proxy-config.sh: 没有那个文件或目录
Usage: /etc/init.d/gitblit {start|stop|restart|force-reload}
其实这个问题很简单, gitblit官方在脚本中将gitblit的安装路径写死了, 作为默认.
GITBLIT_PATH=/opt/gitblit
GITBLIT_BASE_FOLDER=/opt/gitblit/data
解决方法就是将 gitblit 放到默认的 /opt/gitblit 中, 或者 修改默认路径.
这一点官方脚本中也有说明
change theses values (default values)
GITBLIT_PATH=/opt/gitblit
GITBLIT_BASE_FOLDER=/opt/gitblit/data
GITBLIT_HTTP_PORT=0
GITBLIT_HTTPS_PORT=8443
GITBLIT_LOG=/var/log/gitblit.log
…
1 | # 停止服务 |
再或者修改脚本, install-service-centos.sh 示例如下:
1 |
|
服务的启动
gitblit目录里有一个 service-centos.sh 文件, 这个 不是启动服务的脚本(命令), 正确的姿势因该是
1 | systemctl start gitblit |
设置开机自启
1 | systemctl enable gitblit |
最后附上 官方安装教程