ubuntu18.04使用docker 搭建gitlab

前言:

Git 是什么?Git 是目前世界上最先进的分布式版本控制系统,下面介绍如何搭建一套私人的类似于 GitHub 的网站【GitLab】,它可以为个人、组织、企业提供项目或代码的管理功能。

安装环境:

系统:Ubuntu18.04
docker:18.09.1
gitlab:twang2218/gitlab-ce-zh(公司的)
需求内存:最低2GB
想要使用 Docker 来搭建 GitLab 的话需要先安装 Docker, 关于 Docker 的详细安装步骤已经在我的上一篇博客中介绍了。请前往查看:docker入门

搭建gitlab

在按照上篇博客成功安装了 Docker 之后,我们就可以在 Docker 中来搭建 GitLab 了。
GitLab 分为 社区版(Community Edition,缩写为 CE)和 企业版(Enterprise Edition,缩写为 EE)。社区版是免费的,而企业版包含一些收费服务,一般来说个人开发者用社区版就足够了,本篇博文的教程也只是针对社区版。
首先需要先下载 GitLab CE 的镜像,使用下面的命令进行下载,因为文件较大,所以可能需要一点时间,耐心等待即可。

1.下载镜像gitlab镜像

sudo docker pull twang2218/gitlab-ce-zh:10.5.4

xqkang@xqkang:~/docker$ docker pull twang2218/gitlab-ce-zh:10.5.4
10.5.4: Pulling from twang2218/gitlab-ce-zh
22dc81ace0ea: Pull complete 
1a8b3c87dba3: Pull complete 
91390a1c435a: Pull complete 
07844b14977e: Pull complete 
b78396653dae: Pull complete 
ad4077463a1d: Pull complete 
4a3eb35121ed: Pull complete 
886485c74c46: Pull complete 
f7c33689430a: Pull complete 
47ba27d6f419: Pull complete 
4b2901ef2173: Pull complete 
0be3202294c7: Pull complete 
ba6d6fca8779: Pull complete 
Digest: sha256:5e210b9af6a526d7582f55cb0ce45129aa166a877f7efa9ca5dc9bd93211b03f
Status: Downloaded newer image for twang2218/gitlab-ce-zh:10.5.4

查看docker镜像已经有了此镜像:

在这里插入图片描述
2.启动gitlab容器:

下载完成之后只需要一行命令即可启动 GitLab ,复制下面的命令直接运行即可。

sudo docker run --detach --hostname 192.168.10.46  --publish 443:443 --publish 80:80 --publish 22:22  --name gitlab  --restart always   --volume /srv/gitlab/config:/etc/gitlab  --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab twang2218/gitlab-ce-zh:10.5.4

这条命令很长,我们来分解一下看看每行都代表什么意思。

$ sudo docker run --detach \
  --hostname 192.168.10.46 \   # 设置主机名或域名
  --publish 443:443 --publish 80:80 --publish 22:22 \ # 本地端口的映射
  --name gitlab \     # gitlab-ce 的镜像运行成为一个容器,这里是对容器的命名
  --restart always \  # 设置重启方式,always 代表一直开启,服务器开机后也会自动开启的
  --volume /srv/gitlab/config:/etc/gitlab \   # 将 gitlab 的配置文件目录映射到 /srv/gitlab/config 目录中
  --volume /srv/gitlab/logs:/var/log/gitlab \ # 将 gitlab 的log文件目录映射到 /srv/gitlab/logs 目录中
  --volume /srv/gitlab/data:/var/opt/gitlab \ # 将 gitlab 的数据文件目录映射到 /srv/gitlab/data 目录中
  twang2218/gitlab-ce-zh:10.5.4 # 需要运行的镜像

3.查看容器是否正常运行

现在我们可以查看gitlab容器已经运行起来了:

$ docker container ls
xqkang@xqkang:/srv$ docker container ls
CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS                   PORTS                                                          NAMES
30b2038fbfe1        twang2218/gitlab-ce-zh:10.5.4   "/assets/wrapper"        2 minutes ago       Up 2 minutes (healthy)   0.0.0.0:22->22/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   gitlab

如上图所示,可以看到 GitLab 已经在运行了,docker container或docker ps它有一个属性 STATUS 为 health: starting,说明 gitlab 的服务正在启动中,还没有启动完毕。等这个状态变成 healthy 时则说明已经部署完成。

4.网页登录gitlab
使用 ip addr 命令查看系统的 IP 地址,然后在浏览器输入地址即可访问。然后设置初始密码,再然后用户名:root, 密码:你所修改的密码即可登录。
在这里插入图片描述
遇到了一问题
run gitlab时由于是直接copy了别人的代码,
1.hostname没有改成自己的主机IP
2.gitlab镜像没有加版本号
所以我重新搭建了gitlab,此时需要将gitlab删除,先停止容器再删除容器然后重新run时需要注意以下几点:
1.删除vlomue卷下的gitlab文件

gitlab的使用

1.添加sshkey

git仓库之间的代码传输协议主要使用ssh协议。而一般搭建gitlab的时候使用的git用户是没有密码的,因此直接ssh是不能登录的,就需要使用ssh-keygen上传公钥,使用非对称加密传输。下面讲述如何上传你的ssh公钥:
(1)生成sshkey
在终端中敲下面的命令,第一步会生成一对私钥和公钥,分别存在 /.ssh/id_rsa和/.ssh/id_rsa.pub中。第二步查看公钥字符串。

ssh-keygen -t rsa -C "$your_email"
cat ~/.ssh/id_rsa.pub

(2)保存sshkey到gitlab
在面板上依次点击Profile Settings –> SSH Keys –> Add SSH Keys。然后把上一步中的id_rsa.pub中的内容拷贝出来粘贴到输入框中,保存。

完成上面两步之后就成功的添加了sshkey了,然后就可以上传代码了。

2.初始上传代码

如果你已经使用过git了,那么这一步对你来说可以跳过了。整体来说比较简单的。下面的$project_root代表工程根目录(注意:如果是拉取过来的项目需要把项目下的.git文件删除)

进入工程目录 cd $project_root
初始化git仓库 git init
添加文件到仓库 git add .
提交代码到仓库 git commit -m 'init commit'
链接到git server git remote add origin git@example.com:namespace/projectname.git
push代码到服务器 git push origin master

3.克隆代码到本地

在svn中,我们都叫checkout. 把代码checkout到本地。而git中我们叫克隆,克隆会把整个仓库都拉到本地。

如,我要把刚才的工程再clone到本地。

git clone git@example.com:namespace/projectname.git

4. 命令行指令

Git 全局设置

git config --global user.name “Administrator”
git config --global user.email “admin@example.com”

创建新版本库

git clone git@192.168.10.46:root/second_project.git
cd second_project
touch README.md
git add README.md
git commit -m “add README”
git push -u origin master

已存在的文件夹

cd existing_folder
git init
git remote add origin git@192.168.10.46:root/second_project.git
git add .
git commit -m “Initial commit”
git push -u origin master

已存在的 Git 版本库

cd existing_repo
git remote rename origin old-origin
git remote add origin git@192.168.10.46:root/second_project.git
git push -u origin --all
git push -u origin --tags

其他链接:

gitlab的使用——GitLab分支管理规范

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值