你好,起码管我是聊聊理悟空。
本文主要内容如下:
图片
最近需要修改一个很重要的起码管项目源码,但是聊聊理这个源码的代码仓库权限又不能给我们,只给了一份拷贝的丝滑版本,为了能够更好地对这份代码进行代码版本管理,起码管我决定在本地搭建一个 Gitlab 仓库,聊聊理来和其他同事进行协同开发。丝滑
1、本地部署一台 Ubuntu 虚拟机
2、Ubuntu Docker 环境
3、能否访问 docker hub 网络(如果不能访问,用离线方式安装 Gitlab 也可以)
(如果你不喜欢用 docker compose 方式,也可以直接用 docker run 的方式启动 Gitlab 容器。)
docker pull gitlab/gitlab-ee:latest
创建一个 docker-compose.yml 文件:
vim docker-compose.yml
内容如下:
version: '3.3' services: web: image: 'gitlab/gitlab-ee:latest' restart: always hostname: 'gitlab.example.com' environment: GITLAB_OMNIBUS_CONFIG: | external_url 'https://gitlab.example.com' ports: - '8000:80' - '8443:443' - '2222:22' volumes: - '/home/wukong/gitlab/config:/etc/gitlab' - '/home/wukong/gitlab/logs:/var/log/gitlab' - '/home/wukong/gitlab/data:/var/opt/gitlab' shm_size: '256m'
配置说明:
还需要在 Ubuntu 上创建一些文件夹:
在文件 docker-compose.yml 的所在的目录下执行以下命令启动 Gitlab 容器并查看容器状态:
docker-compose up -ddocker ps
图片
等几分钟后,容器状态会从 starting 状态变为 healthy 状态。
更多配置和部署方式详见官网文档:
https://docs.gitlab.com/ee/install/docker.html
可以通过 Ubuntu 虚拟机的 IP 的方式来访问 Gitlab 网站,也可以通过域名的方式来访问Gitlab 网站。
用浏览器打开 Gitlab 网站打开后如下所示:
图片
浏览器直接打开如下地址:
https://<虚拟机 IP 地址>:8443/
host 配置:
<虚拟机 IP 地址> gitlab.example.com
浏览器打开如下地址:
https://gitlab.example.com:8443/
打开 Gitlab 网站后,就会让你登录,即使你选择注册,也需要等管理员审批通过才能登录。所以我们首先得用管理员账号登录,但是我们是不知道账号密码的,所以需要先修改管理员的密码。
sudo docker ps
sudo docker exec -it <容器 ID> /bin/bash
cd /opt/gitlab/bin
gitlab-rails console
图片
u=User.where(id:1).first
因为 root 用户的 id 是默认用户,所以 id 为 1。
图片
u.password='passjava'
u.password\_cnotallow='passjava'
图片
输入u.save,然后回车,等到输出 true,这时,密码修改成功。
u.save
图片
密码修改成功后,退出容器,然后回到登录页面,输入用户名和密码即可登录管理员账号。用户名:root,密码:passjava。
在注册页面填写用户信息,注册成功后需要等待管理员审批。
图片
管理员审批界面
图片
图片
图片
添加用户到这个仓库里面。
https://gitlab.example.com:8443/test-group/passjava/-/project_members
图片
用户登录成功后,可以看到自己的 passjava 项目,不过还需要添加 SSH Key 才能 push 或 pull 项目。
图片
如果本地没有 SSH key,则可以参考下面这个链接生成 SSH Key。
https://gitlab.example.com:8443/help/ssh/index#generate-an-ssh-key-pair
clone 仓库到本地
git clone https://gitlab.example.com:8443/test-group/passjava.git或git clone https://192.168.56.12:8443/test-group/passjava.git
提示输入密码,输入用户名和密码:
图片
图片
图片
docker pull gitlab/gitlab-ee:latest
打包测试环境的 gitlab镜像,这个命令会将服务器上 gitlab 镜像打包成 tar 包,这样我们就方便拷贝到其他服务器上了。执行打包镜像命令:
sudo docker save -o gitlab-ee.tar gitlab/gitlab-ee:latest
因为保存的 tar 包权限不够,所以设置下权限为 777。执行修改权限的的命:
sudo chmod 777 gitlab-ee.tar
将这个 tar 包拷贝新环境的三台服务器上。执行导入镜像的命令:
sudo docker load -i gitlab-ee.tar
然后按照第三章的 3.1.2 和 3.1.3 内容启动容器。
InfoQ 签约作者、蓝桥签约作者、阿里云专家博主、51CTO 红人。
责任编辑:武晓燕 来源: 悟空聊架构 代码管理Gitlab(责任编辑:时尚)
首两月全国发电装机容量按年增7.8% 华润电力、中国电力均涨超4%
HM INTL HLDGS(08416.HK)2020年盈转亏至452.7万港元 基本每股净亏1.13港仙
创科实业(00669.HK)遭减持56.15万股 每股均价129.2663港元