GitLab的搭建及使用
GitLab介绍:
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。安装方法是参考GitLab在GitHub上的Wiki页面。本人使用的是CentOS 7镜像。开源免费。如有需要可到http://centos.ustc.edu.cn/centos/ 自行下载。
一:GitLab 安装(Linux)
依赖:
在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问。
安装SSH:
1.sudo yum install -y curl policycoreutils-pythonopenssh-server 以管理员身份运行,避免不必要的错误。
当出现以上信息则表示成功。
2. 查看SSH服务状态:systemctl status sshd
将SSH服务设置成开机自启动,安装命令:sudo systemctl enable sshd 。
没有启动的可以通过 systemctl start sshd 启动。
3. 查看防火墙状态:systemctl status firewalld
如果没有防护墙可通过 yum install firewalld system –y 进行安装。然后通过 service firewalld start 开启。
4. 添加http服务到firewalld,pemmanent表示永久生效,若不加–permanent系统下次启动后就会失效。添加完后通过:systemctl reload firewalld 重启防火墙。
5.安装Postfix以发送通知邮件,安装命令:sudo yum install postfix (可根据个人情况考虑安不安装,不安装并没有太大影响。)
安装完毕后。启动postfix: systemctl start postfix。以上3中都可设置成开机自动启动。sudo systemctl enable postfix(firewalld/shhd/postfix)。
二.下载GitLab镜像源并安装GitLab服务器
-
下载GitLab镜像。这里要注意下载的类型,这里下载的是ce 社区版,如何需要使用GitLab更高级的功能可下载 ee 企业版本。版本可自选。
镜像地址: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.8.1-ce.0.el7.x86_64.rpm 文件较大,可通过外部下载,在上传到系统中。
安装gitlab : rpm -i gitlab-ce-13.8.1-ce.0.el7.x86_64.rpm。出现下图,说明安装成功了。
注意: gitlab 依赖于policycoreutils-python 当出现这个错误时可以执行 yum install policycoreutils-python 安装即可。
-
进入gitlab目录: cd /etc/gitlab 编辑 vim gitlab.rb 自定义服务器ip和自定义端口。
修改完后输入wq退出。
-
启动:执行gitlab-ctl reconfigure -》 gitlab-ctl restart
当从新启动时出现下图说明启动成功了
-
访问启动成功的GitLab,这里需要注意如果你开启了防火墙。记得将自己设置得端口加入防火墙去,如果是另外一台机器访问的话,会被拦截掉的。(firewall-cmd --zone=public --add-port=3040/tcp --permanent) 如果出现下图说明成功了。现在可以开发创建用户名和密码了。进去后会叫你设置密码。设置完后登录即可,初始用户名为root 密码为你设置得登录密码。
5.到这里gitlab就已经搭建完成。后续使用继续更新使用教程。
三:gitlab 常用命令
- 查看实时日志 : gitlab-ctl tail
- 启动/停止/重启所有gitlab组件:gitlab-ctl start/stop/restart
- 生成配置并启动服务:gitlab-ctl reconfigure
- 升级GitLab-ce版本:yum update gitlab-ce
四:git常用操作命令
- 仓库相关命令
#克隆仓库:
git clone git://github.com/jquery/jquery.git
#查看远程仓库:
git remote -v
#添加远程仓库:
git remote add [name] [url]
#删除远程仓库:
git remote rm [name]
#修改远程仓库:
git remote set-url --push [name] [newUrl]
#拉取远程仓库:
git pull [remoteName] [localBranchName]
#推送远程仓库:
git push [remoteName] [localBranchName]
#提交本地test分支作为远程的master分支
git push origin test:master
#提交本地test分支作为远程的test分支
git push origin test:test - 分支(branch)操作命令
#查看本地分支:
git branch
#查看远程分支:
git branch -r
#创建本地分支:
git branch [name] ----注意新分支创建后不会自动切换为当前分支
#切换分支:
git checkout [name]
#创建新分支并立即切换到新分支:
git checkout -b [name]
#删除分支:
git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
#合并分支:
git merge [name] ----将名称为[name]的分支与当前分支合并
#创建远程分支(本地分支push到远程):
git push origin [name]
#删除远程分支:
git push origin :heads/[name] or gitpush origin :[name]
参考文档:
以下是比较好的参考文档。致谢。
- https://blog.csdn.net/qq_34129814/article/details/100043914?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162564212916780271552294%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=162564212916780271552294&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~hot_rank-1-100043914.first_rank_v2_pc_rank_v29&utm_term=gitlab%E6%90%AD%E5%BB%BA&spm=1018.2226.3001.4187 【搭建教程】
- https://www.cnblogs.com/ray-mmss/p/10861703.html 【常用命令】
- https://fiend.blog.csdn.net/article/details/80681853 【使用教程】