Devops:Gitlab安装
目录GitLab 是什么GitLab的优势GitLab的构成和主要架构工作流程图GitLab工作流GitLab和兴概念:Merge Request 和ForkGitLab CI/Pipeline 流水线图搭建GitLab配置GitLab 是什么GitLab是一个开源分布式版本控制系统,利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开
目录
GitLab和兴概念:Merge Request 和Fork
GitLab 是什么
GitLab是一个开源分布式版本控制系统,利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目
GitLab的优势
开源免费,适合中小型公司将代码放置在该系统中;品差异化的版本管理,离线同步以及强大分支管理功能;便捷的GUI操作界面以及强大账户权限管理功能;集成度很高,能够集成绝大多数的开发工具;支持内置HA,保证在高并发下仍旧实现高可用性
GitLab的构成和主要架构
架构图
Nginx:静态Web服务器
Gitlab-Shell:用于处理Git命令和修改authorized keys列表,gitlab是以Git为底层的,操作实际上最后就是调用gitlab-shell命令进行处理。
Gitlab-Workhorse:轻量级的反向代理服务器
Logrotate:日志文件管理工具
Postgresql:数据库
Redis:缓存数据库
Sidekiq:用于在后台执行队列任务(异步执行)
Unicorn:GitLab Rails应用是托管在这个服务器上面的
工作流程图
GitLab工作流
较为完整的逻辑序列,覆盖整个软件开发过程生命周期;从IDea到Production抽象为10个步骤
GitLab和兴概念:Merge Request 和Fork
Merge Request:简单理解在本地修改完成后,通过Merge Request请求,Review之后和并到Master,我们修改的操作和修改都是在本地进行的
Fork:在服务器上的代码库镜像出来一份,不会影响源库
GitLab CI/Pipeline 流水线图
搭建GitLab
[root@localhost ~]# docker pull gitlab/gitlab-ce:14.2.6-ce.0
[root@localhost ~]# docker run -it -p 4433:443 -p 82:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /opt/devops/gitlab/logs:/var/log/gitlab -v /opt/devops/gitlab/data:/var/opt/gitlab 3551732de712
配置
修改配置文件
1、修改配置文件:添加对外的访问地址
[root@localhost ~]# vim /home/gitlab/config/gitlab.rb
[root@localhost gitlab]# docker container restart gitlab
2、修改gitlab克隆的对外的地址和端口
[root@localhost gitlab]# vim /opt/devops/gitlab/data/gitlab-rails/etc/gitlab.yml
3、重启 修改管理员密码
[root@localhost gitlab]# docker container restart gitlab
[root@localhost trusted-certs]# docker container exec -it gitlab /bin/bash
root@4c5bee21f537:/# cd /opt/gitlab/bin/ 【切换到/opt/gitlab/bin/目录中】
root@4c5bee21f537:/opt/gitlab/bin# gitlab-rails console -e production
irb(main):001:0> u=User.where(id:1).first 【在irb(main):001:0>后输入;这个是查找root,查找所有的用户user.all】
irb(main):002:0> u.password='xxxxxxx' 【在irb(main):002:0> 后输入密码】
irb(main):003:0> u.password_confirmation='xxxxxx' 【在irb(main):002:0> 后再次确认密码】
irb(main):004:0> u.save! 【在irb(main):002:0> 保存】
irb(main):005:0> exit 【退出】
4、 访问地址
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)