Gitlab服务端搭建
本文利用群晖系统的docker进行搭建,若系统为linux可参考:开发者必备docker指令
下载Gitlab的docker镜像
在群晖docker面板的注册表中搜索gitlab选择第一个下载即可,镜像较大请耐心等待
通过命令行下载
docker pull gitlab/gitlab-ce
配置Gitlab镜像并启动
安装镜像
在群晖docker的映像中选择下载好的镜像并启动
路径配置
点击高级设置,在弹出的高级选项中,切换到卷页签,按照下面截图,设置目录。
这里需要添加对应的文件夹到docker目录下,可以使用filestation在docker目录下,创建gitlab目录,然后在gitlab目录下,分别创建logs,config,data来存储日志、配置和数据信息文件。装载路径手动填写。
端口配置
切换端口设置页签,设置一个本地端口,这里指定80容器端口对应本地端1080,22容器端口对应本地端1022,443容器端口对应本地端10443。
启动容器
其他的暂时不用改,直接点击应用,并启动这个docker。正常需要等待一段启动时间,内存飙升到一个比较稳定的数值时,正常就可以访问gitlab的页面了。
命令行配置启动
docker run --detach \ --publish 10443:443 --publish 1080:80 --publish 1022:22 \ --name gitlab \ --restart always \ --volume docker/gitlab/config:/etc/gitlab \ --volume docker/gitlab/logs:/var/log/gitlab \ --volume dockera/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest
访问Gitlab
- 由于Gitlab启动比较慢,需要耐心等待10分钟左右,如果Gitlab没有启动完成访问,会出现如下错误。
Gitlab的使用
在对应目录中找到root的初始密码进行登录
选择创建项目、创建组织、创建帐号
创建组织
首先我们需要创建一个组织,然后在这个组织下分别创建用户和项目,这样同组织的用户就可以使用该组织下的项目了。
创建用户并修改密码
找到添加用户的按钮
输入用户名密码添加用户
在编辑界面中修改用户密码
创建项目并添加README文件
将用户分配到组织
配置项目访问地址
SSH端口配置
在打开的详情页面中就可以看到运行时的端口号,自定义端口需要先停止当前容器的运行。
重新生成配置信息
在上图的详情页中,切到终端机页面,点击新增,会多出一个bash命令行工具。输入gitlab-ctl reconfigure 回车,来重新生成配置。
修改yml配置
继续使用上面说的bash命令行工具,使用vim命令进行yml文件编辑:
vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
修改ssh克隆地址
gitlab_rails['gitlab_ssh_host'] = '192.168.50.123' gitlab_rails['gitlab_shell_ssh_port'] = 1022 # 此端口是run时22端口自动映射的32775端口
修改http克隆地址
## GitLab settings gitlab: ## Web server settings (note: host is the FQDN, do not include http://) host: localhost >> 这里改为主机的IP即可 port: 1080 >>端口一并改成对应的本地端口
重启
gitlab-ctl restart
Git客户端安装与使用
下载Git客户端并安装
- 下载地址:https://github.com/git-for-windows/git/releases/download/v2.23.0.windows.1/Git-2.23.0-64-bit.exe
- 下载完成后,一路点击Next安装即可。
clone项目
找到项目clone的地址
打开git命令行工具
执行以下命令clone项目到本地
git clone http://192.168.3.101:1080/macrozheng/hello.git
提交代码
进入项目目录,修改一下README.md并提交:
# 进入项目工程目录 cd hello/ # 将当前修改的文件添加到暂存区 git add . # 提交代码 git commit -m "first commit"
推送到远程仓库
git push
其它常用命令
# 切换到dev分支 git checkout dev # 查看本地仓库文件状况 git status # 查看本地所有分支 git branch # 查看提交记录 git log