gitlab
脚本部署
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[0;33m' NC='\033[0m'
IP_ADDRESS=$(hostname -I | awk '{print $1}')
echo -e "${YELLOW}开始安装 GitLab...${NC}"
echo -e "${GREEN}正在下载 GitLab...${NC}" wget -O gitlab-ce-11.8.2-ce.0.el7.x86_64.rpm https://dlink.host/1drv/aHR0cHM6Ly8xZHJ2Lm1zL3UvcyFBaVlDNncwZHotYlJlVGJLOFM2N1lRckVoOHM_ZT1TaXBWZGU.rpm
echo -e "${GREEN}正在安装 GitLab...${NC}" rpm -ivh gitlab-ce-11.8.2-ce.0.el7.x86_64.rpm
echo -e "${GREEN}正在配置 GitLab...${NC}" sed -i "s|^external_url .*|external_url 'http://$IP_ADDRESS'|" /etc/gitlab/gitlab.rb
echo -e "${YELLOW}正在初始化 GitLab,这可能需要几分钟...${NC}" gitlab-ctl reconfigure
echo -e "${GREEN}正在检查 GitLab 状态...${NC}" gitlab-ctl status
echo -e "${GREEN}GitLab 安装和配置完成!${NC}" echo -e "${YELLOW}请使用浏览器访问 http://$IP_ADDRESS 来完成最后的设置。${NC}"
|
gitlab安装与配置
准备一台新虚拟机来安装(内存可适当调大点,比如1.5G)
安装
配置
1 2
| [root@vm2 ~] 13 external_url 'http://10.1.1.12' 修改成gitlab服务器的IP地址,对外服务
|
初始化
1 2
| [root@vm2 ~] 时间较久,需要3分钟左右时间,会自动帮助配置各个组件,并启动
|
查看状态
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [root@vm2 ~] run: alertmanager: (pid 10563) 36s; run: log: (pid 10234) 64s run: gitaly: (pid 10343) 39s; run: log: (pid 9380) 163s run: gitlab-monitor: (pid 10417) 38s; run: log: (pid 10082) 80s run: gitlab-workhorse: (pid 10364) 39s; run: log: (pid 9835) 104s run: logrotate: (pid 9916) 93s; run: log: (pid 9952) 90s run: nginx: (pid 9876) 99s; run: log: (pid 9908) 96s run: node-exporter: (pid 10399) 38s; run: log: (pid 10003) 84s run: postgres-exporter: (pid 10585) 35s; run: log: (pid 10267) 60s run: postgresql: (pid 9499) 158s; run: log: (pid 9562) 157s run: prometheus: (pid 10452) 37s; run: log: (pid 10161) 70s run: redis: (pid 9275) 170s; run: log: (pid 9296) 169s run: redis-exporter: (pid 10426) 38s; run: log: (pid 10127) 74s run: sidekiq: (pid 9787) 111s; run: log: (pid 9808) 110s run: unicorn: (pid 9731) 117s; run: log: (pid 9781) 114s
|
gitlab登录
设置密码(密码需要最少8位)



gitlab设置
配置邮箱服务的用途:
账号注册时,邮件验证
有合并请求时,邮件通知
修改密码时,通过邮件修改





开发者设置ssh密钥
第1步: 在开发者电脑上产生空密码密钥
(==注意:== 可以直接使用上面实验的github开发者的密钥,也可以模拟新的开发者重新产生,再做一遍。这里我们再做一次)
第2步: 查看并复制公钥
1 2
| [root@vm1 ~] ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAJW+LIFdcC0DI6oM6eOf6+EPks2ODyPaR/cAWKeFcfnSvuU84ZFYtziQyJYf1RdXwxo6vH+XyBNwOGrTLB1m33RvAgUznVhBH3KA9l1OimYSqEdQJ+4g+LVDkrgj/vIRc1dv7wDglyYGOOFfRftRK/QEHK911MOyJCK1nH0rr7eE7sP33aD6I6DoIfaSC0UUDPfwHDg/bQUDsF/ez4tEPOTSeJ2jVyytArHOAjtflL1+ZvP25F4osdSXju6IG8i7HHiZ0sz1WuQEYH8KzrY/zf8DBFrnOB4vl2UTNwP/NjT06TY78gKMJqcpf1maZR3YIeYlA03ccSOWSZuqq50eP dev1@itcast.cn
|
第3步: 在gitlab界面添加公钥


gitlab创建仓库
第1步: 在gitlab上创建项目(其实也就是存放代码的仓库)

第2步: 自定义项目名称,描述等

第3步: 验证创建好的项目

克隆远程仓库到本地
第1步: 查看gitlab上的帮助

第2步: 在开发者电脑上设置身份标识
1 2 3
| [root@vm1 ~] [root@vm1 ~] [root@vm1 ~]
|
第3步: 在开发者电脑上使用git命令clone,并上传项目
1 2 3 4 5 6 7
| [root@vm1 ~]
[root@vm1 mywebsite] [root@vm1 mywebsite] [root@vm1 mywebsite]
[root@vm1 mywebsite]
|
第4步: 验证

小结
git 分布式版本控制工具
github和gitlab都属于远程仓库
git clone: 把远程仓库的项目代码下载到本地
git push: 把本地的项目代码上传到远程仓库
git pull: 把远程仓库的项目代码更新到本地
远程仓库两种访问方法: