开源推动社会提高,不过商场如战场,目前大部分商业策略中,企业产品源代码个别不太适合间接开源,产品代码大都不是很适合间接放GitHub、GitEE上,企业惯例做法是搭建局域网仓库,还能进步传输速度,其中GitLab是个不错的抉择!

本文解说GitLab采纳容器化的装置办法及三种次要利用场景。

一、GitLab装置配置

Docker环境规划及装置

Docker的搭建能够参考之前的【运维脚手架】相干文档,这里不赘述。

服务器布局

  • 咱们先筹备一台服务器,能够是虚拟机,应用centos7 64位最新版
  • 服务器挂载一块独立大硬盘,门路是/usr/local/docker/,条件容许能够挂在网络安全存储,用于数据卷挂载,后续做容器漂移、重装降级都能够妥善爱护数据。

容器装置
采纳Docker-compose装置,以下代码,复制到ssh终端执行即可,下文配置如下:

  • 容器的数据卷、配置信息对立挂docker下的专属目录,其余利用相似
  • compose脚本中指定了镜像、容器的运行端口及数据卷信息
  • compose脚本可随时批改配置信息,下方脚本提供了日常应用脚本

    mkdir -p /usr/local/docker/gitlab_dockercd /usr/local/docker/gitlab_dockertee docker-compose.yml <<-'EOF'version: '3.1'services:gitlab:  image: 'gitlab/gitlab-ce:latest'  container_name: gitlab  restart: always  environment:    GITLAB_OMNIBUS_CONFIG: |      external_url 'http://192.168.20.151:8929'      gitlab_rails['gitlab_shell_ssh_port'] = 2224  ports:    - '8929:8929'    - '2224:2224'  volumes:    - './config:/etc/gitlab'    - './logs:/var/log/gitlab'    - './data:/var/opt/gitlab'EOFdocker-compose up -ddocker-compose logs -fdocker exec -it gitlab bash
GitLab简略配置
  • root初始密码批改

初始密码个别是非人类可记忆的,通过shell查问初始密码,在网站中进行批改

# 登录页面批改默认明码docker exec -it gitlab cat /etc/gitlab/initial_root_password
  • 增加团队成员用户
    站点反对用户自注册管理员审批、管理员手工开明并邮件告知两种操作,举荐前者!

二、代码治理之Idea集成GitLab

版本治理最频繁的就是代码的保护了,目前java最支流的就是idea了,对于idea的应用能够查问作者其余相干文档。

集成应用有个通用流程,不然容易掉坑里这边叨叨两句:
  • 先在gitlab上创立我的项目,配置好相干人员读写权限;
  • idea中创立我的项目,初始化git本地仓库治理。
  • idea中对我的项目测试ok,连贯近程gitlab仓库,推送代码。
  • 团队成员首次应用,间接拉取gitlab近程代码,而后协同开发即可

开始水代码啦~

  • 步骤一: gitlab上创立我的项目,设为public,默认不创立readme,省去抵触合并的麻烦
  • 步骤二: idea端本地代码治理
# idea控制台执行gitlab的申明账号信息git config --global user.name "linzh"  git config --global user.email "linzhihui@hotmail.com"

idea对工程初始化git本地仓

idea将我的项目提交本地仓治理

  • 步骤三: idea将我的项目推到gitlab上
    点击origin设置远端git地址

输出gitlab的账号密码

  • 步骤四: gitlab上查看代码正确提交上来了!

注:团队其余成员端拉取代码,同github操作,点击上方clone按钮,拷贝http地址即可

三、桌面文档解决之TortoiseGit集成GitLab

解决文档的版本治理和协同编制,桌面端工具有官网的git-scm,不过作为svn的乌龟老用户,还是习惯同家族的TortoiseGit,还是相熟的滋味、相熟的配方!

应用方面,收费下载,一路next到底,找个盘大活好的文件夹右键clone咱们的我的项目即可,不是很简单,所有操作都有能够在右键中找到答案,日常可能会碰到以下需要:

  • 首次应用或须要更改本地用户名和邮箱的
  • 同步抵触须要清理本地缓存
  • 须要查看文档被误删或历史版本等等

都能够在这里找到,不过太古早的版本可能会被服务器清理掉,还是及时更新、及时处理吧,这是个好习惯

四、服务端代码集成之Jenkins集成GitLab

微服务外面的疾速集成次要讲的就是这里啦,常见代码合并到骨干、打上特地TAG,Jenkins就主动将最新代码拉取下来,公布到指定环境,个别是先发送到测试环境,有点相似流水线操作,具体操作咱们将在Jenkins或微服务篇章中具体解说,这里形容集成GitLab的操作局部。

  • 新建item

  • 增加测试工作名称,抉择自在格局
  • 增加git仓库
    个别拉取代码是不须要用户认证的,如果有权限管制,在上图的Credentials进行增加
  • 保留后查看控制台日志
  • 依据日志门路查看代码生成

写在最初

目前Gitee规定降级、GitHub被微软收买,之前还爆出大新闻,有个好工具不容易,很多货色还是把握在自控范畴内,比较稳定牢靠;另外Docker治理常用工具真的是超级不便,后续将继续输入相似产品给有须要的敌人!

与您的互动是我继续创作的能源!【一键三连是人类提高的阶梯!】