CentOS7.2 GitLab部署
1、使用安装包的方式安装gitlab
# vim /etc/yum.repos.d/gitlib.repo [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 # yum install gitlab-ce
2、修改配置文件:
# vim /etc/gitlab/gitlab.rb external_url 'http://X.X.X.X:8088' ...... gitlab_rails['time_zone'] = 'Asia/Shanghai' gitlab_rails['gitlab_email_from'] = 'xxxxxx@163.com' ...... gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.163.com" gitlab_rails['smtp_port'] = 25 gitlab_rails['smtp_user_name'] = "xxxxxx@163.com" gitlab_rails['smtp_password'] = "111111" # 客户端授权密码 gitlab_rails['smtp_domain'] = "163.com" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true ...... user["git_user_email"] = "xxxxxx@163.com" ..... unicorn['listen'] = '127.0.0.1' unicorn['port'] = 8080 #配置文件默认为8080,若其他程序使用了8080端口,需要修为其他端口,否则网页报错502
3、执行配置并启动服务
# 只要修改配置文件就要reconfigure # gitlab-ctl reconfigure # gitlab-ctl start # gitlab-ctl stop # gitlab-ctl restart
4、检验端口及状态:
# gitlab-ctl status run: gitlab-workhorse: (pid 67759) 314s; run: log: (pid 28482) 22876s run: logrotate: (pid 67767) 314s; run: log: (pid 28631) 22858s run: nginx: (pid 67773) 313s; run: log: (pid 28558) 22869s run: postgresql: (pid 67781) 313s; run: log: (pid 27722) 22935s run: redis: (pid 67790) 312s; run: log: (pid 27508) 22946s run: sidekiq: (pid 67796) 311s; run: log: (pid 28442) 22878s run: unicorn: (pid 67802) 311s; run: log: (pid 28402) 22879s
ss -tnl | grep PORT
5、访问web页面
- 有时出现502,可以刷新网页或者再次reconfigure
- 有时需要sudo gitlab-ctl restart nginx
- 初次访问Web页面会强制让你改密码,初始用户名/密码:root/5iveL!fe
- 禁止前台注册
登录后:右上角 Admin Area --> Settings --> Sign-in Restrictions
然后保存
- 修改admin的邮箱
Admin Area --> Users --> Edit
然后保存
6、新建用户
- 点击右上角的添加用户
- 填写用户信息并提交即可
7、新建项目和组
- 登陆root用户或其他需要创建项目的账户,点击左侧的 Projects --> New Project ,即可新建项目
- 填写项目名称,选择项目是共有仓库还是私有仓库,创建
- 若创建私有仓库,需要把其他用户添加到此组中,并确保具有读写权限即可(否则无法拉取和更新代码)
- 点击右上角的添加组
- 选择我们创建的myweb项目,并创建组
- 添加指定的用户到组
- 关联项目和组,点击左侧导航栏 Projects ,点击 myweb1 项目
- 选择项目右侧管理中的 Groups
- 关联上myweb组,并设置权限
8、上传主机公钥
- 登陆指定的用户(例如jack),点击左侧导航栏 Profile Settings --> SSH Keys ,在Key中输入对应主机的公钥即可。Linux主机可以使用命令: ssh-keygen 生成用户公钥和私钥信息
9、测试无需账户密码获取代码
- 安装 git 命令
yum install git -y
- 执行 git clone 命令无需账户密码即成功
# mkdir /source # cd /source/ # git clone git@172.20.3.201:root/myweb1.git
10、Git常用命令
# git config --global user.name “name“ #设置全局用户名 # git config --global user.email mail #设置全局邮箱 # git config --global –list #列出用户全局设置 # git add index.html #添加文件到暂存区 # git add --all ./ #添加文件到暂存区 # git commit -m “11“ #提交文件到工作区 # git status #查看工作区的状态 # git push #提交代码到服务器 # git pull #获取代码到本地 # git log #查看操作日志 # vim .gitignore #定义忽略文件 # git reset --hard HEAD^ #git版本回滚, HEAD为当前版本,加一个^为上一个,^^为上上一个版本 # git reflog # #获取每次提交的ID,可以使用--hard根据提交的ID进行版本回退 # git reset --hard 5ae4b06 #回退到指定id的版本 # git branch #查看当前所处的分支 # git checkout -- file #从服务器更新某个那文件覆盖本地的文件