GitLab
是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
docker pull beginor/gitlab-ce
mkdir /www/wwwroot/gitlab/config
mkdir /www/wwwroot/gitlab/log
mkdir /www/wwwroot/gitlab/data
chmod 777 /www/wwwroot/gitlab/config
chmod 777 /www/wwwroot/gitlab/log
chmod 777 /www/wwwroot/gitlab/data
docker run -itd -p 8443:443 -p 8800:8800 -p 8222:22 --name gitlab --restart always -v /www/wwwroot/gitlab/config:/etc/gitlab -v /www/wwwroot/gitlab/log:/var/log/gitlab -v /www/wwwroot/gitlab/data:/var/opt/gitlab --privileged=true beginor/gitlab-ce
参数说明:
-d
允许后台运行-p [宿主机端口:容器端口]
端口映射--name [容器命名]
--restart always
重启配置-v /www/wwwroot/gitlab/config:/etc/gitlab
挂载目录,配置文件目录-v /www/wwwroot/gitlab/data:/var/opt/gitlab
挂载目录,数据目录(可用于数据恢复)-v /www/wwwroot/gitlab/log:/var/log/gitlab
挂载目录,日志文件目录--privileged=true
配置容器内拥有root权限开放端口:
8443
、8800
、8222
,端口开放可自定义设置,但请避免设置正在使用的端口。
这里Linux虚拟机采用开启防火墙端口的方法,如果是云服务器请开启安全组端口;
# 友情提示:可能以下操作不生效,建议采用第二种
# (1)开启防火墙
systemctl start firewalld.service
# (2)开启端口
firewall-cmd --zone=public --add-port=端口号/tcp --permanent
# (3)检查端口号是否被开启
firewall-cmd --query-port=端口号/tcp
# (4)重启防火墙[必须重载,否则不生效]
firewall-cmd --reload
# (5)查看所有开放的端口列表
firewall-cmd --list-port
# 其他命令
# 停止firewall
systemctl stop firewalld.service
# 禁止firewall开机启动
systemctl disable firewalld.service
参数说明:
--zone
#作用域--add-port=端口号/tcp
#添加端口,格式为:端口/通讯协议--permanent
#永久生效,没有此参数重启后失效# 自启动是随docker启动而启动
docker update gitlab --restart=always
## 也可以设置关闭
docker update gitlab --restart=no
vi /www/wwwroot/gitlab/config/gitlab.rb
## 首行添加内容:
# 配置代码库的http协议所使用的下载地址,不加端口号默认为80
external_url 'http://192.168.1.48:8800'
# 配置代码库的ssh协议所使用的下载地址
gitlab_rails['gitlab_ssh_host'] = '192.168.1.48'
# 配置代码库的ssh协议的端口:容器22映射的宿主机端口
gitlab_rails['gitlab_shell_ssh_port'] = 8222
# 配置时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
vi /www/wwwroot/gitlab/data/gitlab-rails/etc/gitlab.yml
## 修改gitlab面板访问地址:
#host: 0e0a26eb7268
host: 192.168.1.48
port: 8800 # 宿主机端口
https: false
重载配置并重启
友情提示: 重启客户端需要些时间处理,请耐心等待,然后刷新页面就好了。
# 进入容器
docker exec -it gitlab bash
# 重载配置
gitlab-ctl reconfigure
# 重启gitlab客户端
gitlab-ctl restart
gitlab-ctl help 帮助
gitlab-ctl start 启动
gitlab-ctl restart 重启
gitlab-ctl stop 关闭
gitlab-ctl status 查看状态
gitlab-ctl show-config 查看配置
gitlab-ctl reconfigure 重载配置
gitlab-ctl tail [postgresql] 查看日志
http://192.168.1.48:8800/
友情提示: 如果修改密码失败,请刷新页面重新修改即可成功。
超级管理员账户:
root
,密码为上一步修改的密码
## 1. 本地创建项目目录
mkdir AdminApi
cd AdminAPi
## 2. git初始化
git init
## 3.创建README.md
touch README.md
## 4. 添加文件到缓存区
git add README.md
## 5. 文件上传到代码库
git commit -m "add README"
## 6. 绑定代码库
git remote add origin ssh://[email protected]:8222/Admin/AdminApi.git
## 7. 推送代码
git push -u origin master
Git 全局设置
git config --global user.name "XXXX"
git config --global user.email "[email protected]"
创建新版本库
git clone git@9759b8b13571:Admin/AdminApi.git
cd AdminApi
touch README.md
git add README.md
git commit -m "add README"
已存在的文件夹
cd existing_folder
git init
git remote add origin git@9759b8b13571:Admin/AdminApi.git
git add .
git commit -m "Initial commit"
已存在的 Git 版本库
cd existing_repo
git remote rename origin old-origin
git remote add origin git@9759b8b13571:Admin/AdminApi.git
## sidekiq并发数设置: 根据使用人数设置;默认是25
sidekiq['concurrency']=10
## unicorn修改进程数及内存占用
# 运行超时设置
unicorn['worker_timeout'] = 60
# 进程修改建议:2或者4或者6 ;若想要性能最好可以设置CPU内核数+1
unicorn['worker_processes'] = 4
unicorn['worker_memory_limit_min'] = "300 * 1 << 20"
unicorn['worker_memory_limit_max'] = "500 * 1 << 20"
## 修改数据库配置:
postgresql['max_worker_processes']=4
## 释放page cache
echo 1 > /proc/sys/vm/drop_caches
## 释放 dentries 和 inodes
echo 2 > /proc/sys/vm/drop_caches