平台:ubuntu 14.04 LTS Trusty

服务器:gitlab

管理工具:smartgit

功能:由于github是开源的代码管理平台,而我们如果不想公开自己或是公司的开发代码,则需要搭建本地服务器。为了使代码管理更加有效,我们在Ubuntu上来搭建gitlab本地服务器,并且用smartgit进行管理。最终实现了:在同一个局域网中,任何一台主机通过访问服务器IP实现软件代码的git仓库管理。客户端安装windows、Mac或是Linux版本的smartgit,实现代码的上传、下载和更新等。

分以下几个步骤进行:

一. 在Ubuntu主机上搭建gitlab 本地服务器

可以参考:https://www.linuxidc.com/Linux/2018-01/150319.htm

总结一下,主要有以下几个步骤:

1. 安装依赖包

sudo apt-get install curl openssh-server ca-certificates postfix

2. 在国内,这网速只能利用清华大学的镜像(https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/)来进行主程序的安装

首先信任gitlab 的GPG公钥

curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null

使用root用户修改配置文件

vim /etc/apt/sources.list.d/gitlab-ce.list

新建list文件,添加以下内容

deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu trusty main

注意:我的Ubuntu版本是14.04 即trusty,而16.04则为xenial ,内容要对应系统版本代号。

安装 gitlab-ce

sudo apt-get update

sudo apt-get install gitlab-ce

3.修改配置文件---这一步很重要

vim /etc/gitlab/gitlab.rb

必要时,一般不需要,这里可以指定自定义本地域名:

vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml

此文件,找到## Web server settings将host的值改成:192.168.0.134

截取重要的几条,我的配置如下:

external_url 'http://192.168.0.134:8080'

...

### Email Settings
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'sunnyhu@roadj.com'
gitlab_rails['gitlab_email_display_name'] = 'GitLab'
gitlab_rails['gitlab_email_reply_to'] = 'sunnyhu@roadj.com'
# gitlab_rails['gitlab_email_subject_suffix'] = ''

### GitLab user privileges
# gitlab_rails['gitlab_default_can_create_group'] = true
# gitlab_rails['gitlab_username_changing_enabled'] = true

### Default Theme
gitlab_rails['gitlab_default_theme'] = 2


...

nginx['listen_addresses'] = ['192.168.0.134']
nginx['listen_port'] = 8080

...

有这几条,gitlab服务器配置基本OK。说明:192.168.0.134这个IP是路由器分配给作为服务器主机的地址,8080为指定端口,你自己也可以设成其它,默认端口是80,这样设置可以避免80端口被占用时,服务器登不上。

4.启动sshd和postfix服务

service sshd start

service postfix start

5.添加防火墙规则

sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

6.启动各项服务

sudo gitlab-ctl reconfigure

7..检查GitLab是否安装好并且已经正确运行

sudo gitlab-ctl status

 我的服务器状态如下:

server@server-Precision-T1700:~$ sudo vim /etc/gitlab/gitlab.rb 
server@server-Precision-T1700:~$ sudo gitlab-ctl status
run: alertmanager: (pid 1043) 22673s; run: log: (pid 1009) 22673s
run: gitaly: (pid 1021) 22673s; run: log: (pid 1006) 22673s
run: gitlab-monitor: (pid 1023) 22673s; run: log: (pid 1007) 22673s
run: gitlab-workhorse: (pid 1039) 22673s; run: log: (pid 1020) 22673s
run: logrotate: (pid 8928) 1072s; run: log: (pid 1005) 22673s
run: nginx: (pid 1040) 22673s; run: log: (pid 1004) 22673s
run: node-exporter: (pid 1022) 22673s; run: log: (pid 996) 22673s
run: postgres-exporter: (pid 1047) 22673s; run: log: (pid 1010) 22673s
run: postgresql: (pid 1068) 22672s; run: log: (pid 1031) 22673s
down: prometheus: 1s, normally up, want up; run: log: (pid 997) 22673s
run: redis: (pid 1067) 22672s; run: log: (pid 1030) 22673s
run: redis-exporter: (pid 1042) 22673s; run: log: (pid 1008) 22673s
run: sidekiq: (pid 1070) 22672s; run: log: (pid 1019) 22673s
run: unicorn: (pid 1046) 22673s; run: log: (pid 1018) 22673s

8. 配置gitlab 服务器

首先在浏览器中输入:192.168.0.134:8080登陆本地服务器,修改管理员密码

而后

git仓库之间的代码传输协议主要使用ssh协议。而一般搭建gitlab的时候使用的git用户是没有密码的,因此直接ssh是不能登录的,就需要使用ssh-keygen上传公钥,使用非对称加密传输。

添加ssh key

ssh-keygen

生成一对私钥和公钥,分别存在 ~/.ssh/id_rsa~/.ssh/id_rsa.pub中。第二步查看公钥字符串。

cat ~/.ssh/id_rsa.pub

添加key到gitlab服务器配置中,Profile Settings –> SSH Keys –> Add SSH Keys。然后把上一步中的id_rsa.pub中的内容拷贝出来粘贴到输入框中,保存。

如下图,可以看出我已经上传了两个key。

gitlab服务器查询账户 gitlab本地服务器_gitlab

 

二. 安装smartgit 图形化管理git仓库

 

a. Linux版本smartgit

1. 安装

到官方指定地址下载对应版本的smartgit安装包:https://www.syntevo.com/smartgit/download/

Download for Linux 安装包版本号为:smartgit-linux-18_2_6.tar.gz

解压到指定安装目录即可,~/smartgit/bin/smartgit.sh为执行安装文件

 

执行./smartgit.sh进行安装即可

期间需要申请验证license证书,我是用个人邮箱申请的非商务版,申请后邮箱收到smartgit.lic,解压即可得到license

申请正式地址:

https://www.syntevo.com/cn/smartgit/register-non-commercial/

 

创建桌面快捷方式

新建一个smartgit.desktop文件,内容为:

[Desktop Entry]
Name=smartgit
Exec=sh /home/server/smartgit/smartgit/bin/smartgit.sh
Icon=/home/server/smartgit/smartgit/bin/smartgit-64.png
Type=Application
StartupNotify=true

其中Exec为执行文件路径,Icon为应用图标文件路径。需要对应修改。

2. 配置

详见:


 

b. windows版本smartgit

1. 安装

到官方指定地址下载对应版本的smartgit安装包:https://www.syntevo.com/smartgit/download/

Download for Windows安装包版本号为:smartgit-win-18_2_6.zip

解压到指定安装目录即可,smartgit-18_2_6-setup.exe为执行安装文件

期间也是需要license验证的,由于license文件是通用的,用ubuntu下获得的license文件即可

2. 配置

详见:


期间要获取windows系统下生成的key文件,

windows生成key,打开终端cmd->输入ssh-keygen一直默认Enter直到生成。

gitlab服务器查询账户 gitlab本地服务器_gitlab服务器查询账户_02