gitlab安装、下载、推送 代码(推荐)

时间:2021-05-11 04:19:26
环境:

内存必须5G以上

centos7.5

服务端:192.168.0.74

客户端:192.168.0.73

GitLab的安装

1、在CentOS系统上,下面的命令将会打开系统防火墙HTTP和SSH访问。

yum install curl policycoreutils openssh-server openssh-clients -y
systemctl enable sshd
systemctl start sshd
yum install postfix -y
systemctl enable postfix
systemctl start postfix
firewall-cmd --permanent --add-service=http
systemctl reload firewalld 2、添加GitLab镜像源并安装 curl -sS http://packages.gitlab.com.cn/install/gitlab-ce/script.rpm.sh | sudo bash 这是官方的yum源,安装速度会比较慢,可以使用国内源,修改如下文件即可: cat>>/etc/yum.repos.d/gitlab_gitlab-ce.repo<<EOF
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
EOF 然后执行: yum install gitlab-ce -y 4、修改gitlab配置文件指定服务器ip和自定义端口: vi /etc/gitlab/gitlab.rb external_url 'http://192.168.0.94:8081' #本地ip+端口 注意这里设置的端口不能被占用,默认是8080端口,如果8080已经使用,请自定义其它端口,并在防火墙设置开放相对应得端口 5、重置GitLab gitlab-ctl reconfigure #需要很长时间不要按ctrl+c 每次修改配置文件都需要重置,否则不生效 出现如下结果表明重置成功 Running handlers:
Running handlers complete
Chef Client finished, 454/655 resources updated in 04 minutes 29 seconds
gitlab Reconfigured! 6、启动GitLab gitlab-ctl start ok: run: gitlab-git-http-server: (pid 3922) 1s
ok: run: logrotate: (pid 3929) 0s
ok: run: nginx: (pid 3936) 1s
ok: run: postgresql: (pid 3941) 0s
ok: run: redis: (pid 3950) 0s
ok: run: sidekiq: (pid 3955) 0s
ok: run: unicorn: (pid 3961) 1s 提示“ok: run:”表示启动成功 停止gilab gitlab-ctl stop 重启 gitlab-ctl restart 7、访问 GitLab页面 http://192.168.0.94:8081 初始账户: root 密码: 5iveL!fe 第一次登录需要修改密码 修改密码为: jenkins@123 重新登录 root/jenkins@123 如果没有域名,直接输入服务器ip和指定端口进行访问 第一次访问GitLab,系统会重定向页面到重定向到重置密码页面,你需要输入初始化管理员账号的密码,管理员的用户名为root,初始密码为5iveL!fe。重置密码后,新密码即为刚输入的密码。 8、客户端下载、推送代码 安装git yum install -y git 配置ssh密钥 ssh-keygen -t rsa -f /root/.ssh/id_rsa -P "" 添加ssh-key公钥到gitlab, 哪台需要连接gitlab服务器,哪台就需要把他的公钥添加到gitlab服务器上 cat ~/.ssh/id_rsa.pub [root@test3 ~]# cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxiS/XYe2x+iwhU6PuiV8XTmNgQ9w3FMgC4JuPkyHwIhHxh+1M/Evj7AqGJIURcrl1CHqJKng8d/M8WT+NoqwlA524hKpjv4RgEW2dl1kLfQLVVJmoB9NOvr5+cdmQ1V8xuhhxtcLw7JhigXu7HNCEs6bJ+MVwD83oc9jV7HVB3mgmZrk2+Ntxz8cr/W9MoLmkqEQJ3JYmsXmJsofcMPOQJNpmIScAu7kWJ4tIJAN5SuhNjQTw+v5HgLJT/LTdf/0DUCP55ulsDWP03ilIsEMT1FX1mz2tkQsopim2Z/Tqtk96OTNYB5svNb+nJXkRUskbQ+pYjU3hr0kxkAr/NEzX root@test3 登录gitlab,在右上角设置中找到SSH密钥 将刚才生成的公钥内容复制到密钥中,标题名字随意 创建项目 创建一个hello项目 点击小扳手(管理区域),新建项目 Project name为项目的名称 Import project from从其他代码仓库导入代码 Project description项目说明 Visibility Level项目等级 private只有你自己跟你指定的人能看 internal只有拥有gitlab账号的用户可以查看与拉取 public该项目能被所有人访问到并clone 从gitlab远程主机克隆一个版本库 mkdir /root/test/ cd /root/test/ git clone git@192.168.0.94:root/hello.git 这里有个警告,因为刚才创建的版本库是空的,所以这里提醒,克隆了一个空库 推送代码到gitlab 创建一个文件 cd /root/test/hello/ touch read.txt echo "Hello world" >> read.txt 将文件添加到仓库 git add read.txt 配置用户名和邮箱,tell me who you are git config --global user.email "15613691030@163.com" git config --global user.name "zhuzihao" 提交文件到仓库 git commit -m "2nd Commit" #2nd Commit是本次提交的说明 创建tag版本 git tag 1.0.2 查看git版本号 git tag 最后推送到gitlab上 git push origin master 在gitlab上看到,已经推送成功了 9、GitLab的汉化 mkdir /home/local/gitlab
cd /home/local/gitlab 如没安装git,需提前安装: yum install -y git 下载最新的汉化包: git clone https://gitlab.com/xhang/gitlab.git 如果是要下载老版本的汉化包,需要加上老版本的分支,如果想下载10.0.2,可以运行如下语句: git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh 停止GitLab并执行如下语句: gitlab-ctl stop
cp /home/local/gitlab/* /opt/gitlab/embedded/service/gitlab-rails/ -rf 复制时可能不断提示是否要覆盖,这时可能是系统每次执行cp命令时,其实是执行了cp -i命令的别名。出现这种情况可以修改~/.bashrc,在“alias cp=’cp-i’”前加#注释即可。 复制可能出现如下提示,可以不用理会。 注释后记得执行: source ~/.bashrc 或者重启即可。 接下来可以重新配置和启动: sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart 10、GitLab常用命令 #启动所有服务 [root@gitlab ~]# gitlab-ctl start #启动单独一个服务 [root@gitlab ~]# gitlab-ctl start nginx #查看日志,查看所有日志 [root@gitlab ~]# gitlab-ctl tail #查看具体一个日志,类似tail -f
[root@gitlab ~]# gitlab-ctl tail nginx 参照: https://www.cnblogs.com/wenwei-blog/p/5861450.html 配置安装、报错解决按照这个 https://www.linuxidc.com/Linux/2017-11/148223.htm 安装按照这个 https://www.cnblogs.com/lovezbs/p/4457018.html https://blog.whsir.com/post-1749.html