共计 2340 个字符,预计需要花费 6 分钟才能阅读完成。
开源推动社会提高,不过商场如战场,目前大部分商业策略中,企业产品源代码个别不太适合间接开源,产品代码大都不是很适合间接放 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 治理常用工具真的是超级不便,后续将继续输入相似产品给有须要的敌人!
与您的互动是我继续创作的能源!【一键三连是人类提高的阶梯!】