乐趣区

关于gitlab:运维脚手架之GitLab

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

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

一、GitLab 装置配置

Docker 环境规划及装置

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

服务器布局

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

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

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

    mkdir -p /usr/local/docker/gitlab_docker
    cd /usr/local/docker/gitlab_docker
    tee 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'
    EOF
    
    docker-compose up -d
    docker-compose logs -f
    docker 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 治理常用工具真的是超级不便,后续将继续输入相似产品给有须要的敌人!

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

退出移动版