尝试经过两种方式搭建gitlab,直接安装和docker安装。linux
而后咱们须要安装的是社区版(免费版本)git
参考下面两篇教程、文档:
GitLab的安装及使用教程
https://packages.gitlab.com/gitlab/gitlab-ce/installgithub
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum makecache
sudo yum install -y gitlab-ce
安装成功后会有如下图标:
gitlab-ctl start
,默认8080端口,设置端口须要修改配置vi /etc/gitlab/gitlab.rb
,external_url
设置域名和端口号,没有域名则设置ip#GitLab经常使用命令 sudo gitlab-ctl start # 启动全部 gitlab 组件; sudo gitlab-ctl stop # 中止全部 gitlab 组件; sudo gitlab-ctl restart # 重启全部 gitlab 组件; sudo gitlab-ctl status # 查看服务状态; sudo gitlab-ctl reconfigure # 启动服务; sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件; gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab; sudo gitlab-ctl tail # 查看日志;
ip:端口号
或域名:端口号
后访问,若是出现502-Whoops, GitLab is taking too much time to respond
,则说明端口被占用,默认是8080端口,第一次访问须要直接修改root密码external_url
会影响到后面建立工程的git远程服务器地址,假如我修改成localhostexternal_url 'http://localhost:8099'
,则出现下图的状况,最好仍是填本身的域名或者直接ip地址。每次修改配置文件
/etc/gitlab/gitlab.rb
后须要gitlab-ctl reconfigure
才能生效docker
git init
建立本地仓库.git
的隐藏文件夹,这个就是咱们的本地仓库,须要脱离版本控制的话能够直接删除这个.git
文件夹touch text.txt
并写入hello world
,而后执行git add
添加到暂存区,进而git commit
到本地版本库(这里能够发如今windows下使用的git bash跟linux下命令同样)git remote add
命令添加咱们的gitlab远程仓库git push
提交代码,这里弹出框要求输入用户名和密码,输入以后就能够提交成功,而后到gitlab上也能够看到提交记录ssh-keygen
生成密钥文件id_rsa.pub
(在c盘-》用户-》用户名-》.ssh目录下)#使用ssh-keygen生成密钥文件id_rsa.pub ssh-keygen -t rsa -C "youremail@example.com" #获取密钥 cat ~/.ssh/id_rsa.pub
7.将密钥所有复制粘贴到gitlab下的settings->ssh keys中便可配置成功,而后就能够到gitlab项目中选择ssh地址
vim
-f
参数强制提交,可是gitlab会报错
unprotect
docker pull gitlab/gitlab-ce
docker run
建立和启动容器,而后直接访问ip:端口号
就能够打开了gitlab页面了docker run -d -p 8078:80 --name mygitlab gitlab/gitlab-ce
容器80端口映射到宿主机8078端口,dockerfile上也能够看到容器是80端口EXPOSE 443 80 22
windows
-v
指定数据卷,宿主机上能够方便修改配置文件cd ~ #能够考虑把配置文件放到一个文件夹里边统一管理 mkdir gitlab cd ~/gitlab #启动gitlab容器后,拷贝容器中的默认配置文件到当前文件夹 docker container cp mygitlab:/etc/gitlab . && mv gitlab config docker container cp mygitlab:/var/opt/gitlab . && mv gitlab data docker container cp mygitlab:/var/log/gitlab . && mv gitlab logs #先删除旧的容器 docker rm mygitlab #建立新的容器,指定使用当前目录下的配置目录做为数据卷 docker run -d -p 8078:80 --name mygitlab \ -v $PWD/config:/etc/gitlab \ -v $PWD/data:/var/opt/gitlab \ -v $PWD/logs:/var/log/gitlab \ gitlab/gitlab-ce
可是启动后报错:
centos
--restart always
让容器报错也不会自动关闭,并修改文件权限后重启便可
#添加--restart always,容器报错后不自动关闭 docker run -d -p 8078:80 --name mygitlab --restart always \ -v $PWD/config:/etc/gitlab \ -v $PWD/data:/var/opt/gitlab \ -v $PWD/logs:/var/log/gitlab \ gitlab/gitlab-ce #修改文件权限 docker exec -it mygitlab /bin/bash -c "chown -R git /var/opt/gitlab/gitlab-rails/uploads && find /var/opt/gitlab/gitlab-rails/uploads -type f -exec chmod 0644 {} \; && find /var/opt/gitlab/gitlab-rails/uploads -type d -not -path /var/opt/gitlab/gitlab-rails/uploads -exec chmod 0700 {} \;" docker exec -it mygitlab /bin/bash -c 'update-permissions' #重启容器 docker restart mygitlab
gitlab 官方推荐是4g内存,2g内存也能够跑,内存占用比较高。我的使用的话能够用,但不必。感受仍是github或是开源中国的码云好。缓存