伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

CI/CD笔记-Gitlab安装部署

来源:本站原创 浏览:149次 时间:2022-02-27

GitLab安装部署管理笔记
参考
一、安装部署

  1. 最小系统:centos7 x64,cpu4,4g,10gb
  2. 依赖包安装
  3. gitlab基础信息
  4. 下载gitlab及安装
  5. 修改gitlab访问地址配置
  6. 输入配置的地址访问gitlab,第一次需要重设密码,用户名为root
    二、gitlab的配置与管理
    1.配置发信功能即注册等其他事件,通过邮件通知
    2.取消gitlab注册功能
  7. 创建项目
  8. 将某个用户添加到创建的组里,一个组可以有多个项目,可以配置每个项目的成员等等
  9. 将通过管理员创建的项目添加到组里,那么组成员就可以看到该项目了
  10. git客户端克隆项目到本地
  11. 本地操作完提交到仓库
    备注

参考
https://blog.csdn.net/qq_37143673/article/details/85044258

https://www.cnblogs.com/zhangycun/p/10963094.html

https://www.cnblogs.com/wangrongwen/p/13709196.html

一、安装部署
1. 最小系统:centos7 x64,cpu4,4g,10gb
环境要求:https://docs.gitlab.com/ce/install/requirements.html 【社区版】

2. 依赖包安装

# 安装常用工具yum install vim gcc gcc-c++ wget net-tools lrzsz iotop lsof iotop bash-completion -y# 安装网络及发送邮件工具yum install curl wget policycoreutils openssh-server openssh-clients postfix -y# 更换yum源为阿里云mv /etc/yum.repos.d/CentOS-Base.repo   /etc/yum.repos.d/CentOS-Base.repo.bakwget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 刷新仓库yum clean all && yum makecache# 配置epel仓库wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo# 关闭防火墙systemctl disable firewalld# 关闭selinuxsed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config && sync && reboot# 修改主机hostnamehostnamectl set-hostname gitlab.example.com# 设置postfix开机启动及重启,gitlab默认以postfix发送邮件systemctl enable postfix && systemctl restart postfix# 重启主机reboot
  1. gitlab基础信息
    • 3.0 gitlab依赖的中间件
1. 开发语言:主ruby,部分go2. 版本:CE社区办,EE企业版3. Linux4. Git代码管理【拥有wiki和issue跟踪功能】5. Node.js6. Redis7. PostgreSQL8. nginx9. Unicorn 是一个为运行 Rack 应用的HTTP服务器
  • 3.1 gitlab相关的目录
/etc/gitlab   # 配置文件目录/run/gitlab   # 运行pid目录/opt/gitlab   # 安装目录/var/opt/gitlab  # 数据目录/var/log/gitlab  # 日志目录
  • 3.2 gitlab常用命令
gitlab-rails # 用于启动控制台进行特殊操作,如修改管理员密码,打开数据库控制台(gitlab-rails debconsole)等gitlab-psql  # 数据库命令行gitlab-rake  # 数据备份恢复等数据操作gitlab-ctl  # 客户端命令行操作行gitlab-ctl stop/start/restar/status/  # 操作gitlab及查看组件运行状态gitlab-ctl tail nginx  # 查看某个组件的日志

4. 下载gitlab及安装

#centos 6系统的下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6#centos 7系统的下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7# 选择自己合适的版本wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.8.9-ce.0.el7.x86_64.rpm && rpm -i gitlab-ce-11.8.9-ce.0.el7.x86_64.rpm

5. 修改gitlab访问地址配置

vim /etc/gitlab/gitlab.rb# 修改此行external_url  'http://localhost'  # 变更为,服务器ip及自定义的端口号,默认8080external_url  'http://192.168.0.152:8888'# 保存退出,并将gitlab配置刷新及重启gitlab-ctl reconfigure && gitlab-ctl restart

6. 输入配置的地址访问gitlab,第一次需要重设密码,用户名为root

# 常见问题解决-出现502界面,查看组件状态 `gitlab-ctl status`1. 端口被占,修改gitlab.rb中的配置即可,一般是gitlab端口被占或者Unicorn端口被占external_url  'http://192.168.0.152:8888'或者unicorn['port'] = 9090

二、gitlab的配置与管理
1.配置发信功能即注册等其他事件,通过邮件通知

# 默认postfix发信,也可以用stmp发,默认stmp是开启的,两者只能开启一个,不然报错# 官网参考 https://doc.gitlab.cc/omnibus/settings/smtp.htmlvim /etc/gitlab/gitlab.rb### Email Settings# 方式一使用stmp,前提需要到对应的邮箱上配置开发第三方访问,如qq,163gitlab_rails['smtp_enable'] = truegitlab_rails['smtp_address'] = "smtp.qq.com"gitlab_rails['smtp_port'] = 465gitlab_rails['smtp_user_name'] = "414534337@qq.com"gitlab_rails['smtp_password'] = "iotgzskuiqbtcbch"gitlab_rails['smtp_domain'] = "smtp.qq.com"gitlab_rails['smtp_authentication'] = "login"gitlab_rails['smtp_enable_starttls_auto'] = truegitlab_rails['smtp_tls'] = truegitlab_rails['gitlab_email_from'] = '414534337@qq.com'# 保存重启gitlab-ctl reconfigure && gitlab-ctl restart# 方式二使用postfix,关闭stmp,具体配置待研究gitlab_rails['smtp_enable'] = true 改为 false


2.取消gitlab注册功能

3. 创建项目

可以直接创建项目,然后为项目添加成员

也可以创建组,然后向组里添加成员,然后将项目添加到组里,那么组成员就都可以根据自己的角色操作该项目文件了

4. 将某个用户添加到创建的组里,一个组可以有多个项目,可以配置每个项目的成员等等

5. 将通过管理员创建的项目添加到组里,那么组成员就可以看到该项目了

6. git客户端克隆项目到本地
各成员一般都是通过git拉取代码的,可以直接通过http的方式,这种需要输入用户名和密码

也可以在本地ssh生成密钥,上传到gitlab用户配置里,那么拉取代码就不需要输入账户信息了

7. 本地操作完提交到仓库

# 进入项目目录[root@python-node01 gitlab-project-dir]# cd testproject01/# 添加一个测试文件[root@python-node01 testproject01]# echo "just test push something to gitlab" > first-test.txt# 将在本地工作区的修改提交到到缓存区[root@python-node01 testproject01]# git add .# 将修改从缓存区提交到本地仓库[root@python-node01 testproject01]# git commit -m "push init code"# 报如下错误,需要提交配置全局的用户email和用户名*** Please tell me who you are.Run git config --global user.email "you@example.com" git config --global user.name "Your Name"to set your account's default identity.Omit --global to set the identity only in this repository.fatal: unable to auto-detect email address (got 'root@python-node01.(none)')# 配置邮箱和用户名[root@python-node01 testproject01����,����]# git config --global user.email 111112@qq.com[root@python-node01 testproject01]# git config --global user.name test01[root@python-node01 testproject01]# cat ~/.gitconfig[user]email = 111112@qq.comname = test01# 再次commit就ok了[root@python-node01 testproject01]# git commit -m "push init code"[master 48a1e0a] push init code1 file changed, 1 insertion(+)create mode 100644 first-test.txt# 注意!!如果你是开发者身份,默认是不允许直接推送代码到master分支的[root@python-node01 testproject01]# git push

备注
关于gitlab用户角色的介绍参考:https://www.cnblogs.com/sunxiuwen/p/11155348.html

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net