github是什么
企业可以自己搭建一个代码托管工具——gitlab。gitlab和github的界面几乎一致。不就是代码托管吗,自己搭!
gitlab有ce和ee两个版本,ce开源,适合中小企业,ee收费,适合大型公司。
前提 安装好虚拟机
安装和配置必要的依赖关系
yum install curl policycoreutils openssh-server openssh-clients.x86-64
开机自启动ssh程序
sudo systemctl enable sshd
安装邮件程序 因为git账号使用邮箱格式(邮箱协议、地址)
sudo yum install postfix
启动程序
sudo systemctl start postfix
关闭防火墙
sudo systemctl stop firewalld
在线安装法
配置gitlab-ce的yum repo
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
在线安装gitlab-ce
yum install -y gitlab-ce
离线安装方法
如果网速不给力,可以离线安装
上清华镜像网址下载gitlab-ce
https://mirrors.tuna.tsinghua.edu.cn/
将下载下的rpm包放进CentOS中
yum -y install gitlab-ce-9.1.0-ce.0.el7.x86_64.rpm
yum install gitlab-ce
3. Configure and start GitLab
sudo gitlab-ctl reconfigure
注意 如果你是系统版本CentOS8可能会遇到报错
做数据迁移前一定要看好之前旧系统(旧机器)的gitlab版本
我自己解决方案是
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
再执行以下这个命令
sudo gitlab-rake gitlab:backup:create
这个命令会生成一个备份的压缩包在/var/opt/gitlab/backups目录下
如果没有看版本也没事,生成的备份包后面会有版本。
安装成功
然后从浏览器进行测试
输入自己的ip地址
如果没有登陆则进行登陆
GITLAB占用80端口,访问时直接访问IP就可以
(第一次会让你确认root账户登录的密码)
创建8位新密码 然后使用root登陆
换行符换行符换行符换行符换行符换行符换行符换行符换行符换行符换行符换行符
但是我在安装的过程中 遇到这个问题使用注册 然后提交 一直是下面这个问题
尝试更改 端口测试
GITLAB占用80端口,访问时直接访问IP就可以 或者修改端口号
编辑ip和端口
vim /etc/gitlab/gitlab.rb
gitlab-ctl reconfigure
gitlab-ctl restart
防坑指南
-
安装之后是这个界面
那么你的问题可能是端口被占用或者内存不足,增大虚拟机的内存和修改端口 -
编辑配置文件
#vim /etc/gitlab/gitlab.rb
- 更改参数
external_url 'http://localhost:8888' #指定访问端口,默认是80
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 8001
为unicorn worker的工作端口,默认为8080,如果你的8080端口被占用的,这一项需要更改。
- 重启gitlab
#gitlab-ctl reconfigure
#gitlab-ctl restart
二、内存不足的问题:GtLab硬性要求最少4G(RAM + Swap),请确保内存足够,或者当前系统内存被占用导致内存不足
-----然后还是不行换成了下面的方法----
---------另外一种安装方法 ------
1. 使用docker安装 gitlab
首先安装好docker容器
yum包更新到最新并且下载依赖包
yum update -y && yum upgrade -y
yum install yum-utils device-mapper-persistent-data lvm2 -y
使用yum安装Docker
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
设置ustc镜像加速器
注意:通过配置国内镜像源的方式,提高拉取速度,自行创建文件
vim /etc/docker/daemon.json
添加如下内容
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"]}
启动Docker服务器
启动docker守护进程
$ systemctl start docker
测试安装是否成功
通过上面几种方式安装了Docker之后,我们可以通过下面的方法来检测安装是否成功。
打印Docker版本
打印docker版本
$ docker version
拉取镜像并运行容器
1. 安装gitlab
拉取docker镜像
$ docker pull gitlab/gitlab-ce
以上ce是指社区版,这将会拉取社区版的最新镜像到本机。
1、通常会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后升级, 因此请先准备这三个目录。
mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data
2、准备好这三个目录之后, 就可以开始运行 Docker 镜像了。 我的建议是使用unless-stopped 作为重启策略,
因为这样可以手工停止容器, 方便维护。
完整的运行命令如下:
docker run \
--detach \
--publish 8443:443 \
--publish 8090:80 \
--name gitlab \
--restart unless-stopped \
-v /mnt/gitlab/etc:/etc/gitlab \
-v /mnt/gitlab/log:/var/log/gitlab \
-v /mnt/gitlab/data:/var/opt/gitlab \
beginor/gitlab-ce:11.0.1-ce.0
配置GitLab主机名
1、修改 /mnt/gitlab/etc/gitlab.rb
把external_url改成部署机器的域名或者IP地址
vim /mnt/gitlab/etc/gitlab.rb
2、修改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml
在这里插入图片描述
将host的值改成映射的外部主机ip地址和端口,这里会显示在gitlab克隆地址
默认的Gitlab数据存储路径,在目录/var/opt/gitlab/git-data下,防止以后数据过大,所以可以修改路径存储为/data/gitlabData
vim /mnt/gitlab/etc/gitlab.rb
#edited by ouyangpeng 2017-8-10 配置gitlab的数据存储位置为/data目录下,保证硬盘安全
git_data_dirs({ "default" => { "path" => "/data/gitlabData" } })
设置完后,过一段使用时间,可以看到该目录下的resposities
配置并启动GitLab
像上面步骤修改了GitLab的ip地址一样,临时修改了GitLab的配置之后,得执行如下的命令,应用重新配好的配置并重启GitLab,然后查看GitLab的状态。
因为是容器,所以要进入到gitlab容器中执行命令
docker exec -ti gitlab /bin/bash
然后
gitlab-ctl reconfigure #花时间比较多
gitlab-ctl restart #改IP重启就可以了
gitlab-ctl status
登陆
打开浏览器,输入本机的ip地址并登陆
http://192.168.31.28:8090
默认帐户的用户名是root,第一次访问时,将被重定向到密码重置屏幕,登录后,您可以更改用户名。
常用的几个Gitlab命令
重新应用gitlab的配置
gitlab-ctl reconfigure
重启gitlab服务
gitlab-ctl restart
** 查看gitlab运行状态**
gitlab-ctl status
停止gitlab服务
gitlab-ctl stop
查看gitlab运行日志
gitlab-ctl tail
停止相关数据连接服务
gitlab-ctl stop unicorn
创建第一个project1
注意 项目上面会出现
使用命令获取keygen
界面上传文件具体步骤
命令行操作
- yum install git
注册全局用户和邮箱
查看自己版本
git config --list
如果想上传 则 进入 此文件夹 然后 使用一下命令
Git 全局设置
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
创建新版本库
git clone git@192.168.31.28:root/project1.git
cd project1
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
已存在的文件夹
cd existing_folder
git init
git remote add origin git@192.168.31.28:root/project1.git
git add .
git commit -m "Initial commit"
git push -u origin master
已存在的 Git 版本库
cd existing_repo
git remote rename origin old-origin
**origin 起源 remote 远程连接**
git remote add origin git@192.168.31.28:root/project1.git
git push -u origin --all
git push -u origin --tags
特别注意的是 此时的场景似曾相识,和我们的github操作一样 如果想看git具体的操作请看另一篇文章git安装教程