DevOps实战(4) GitLab部署
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
GitLab可部署在物理机上也可以部署在Docker中。可根据自身需求自行选择。
一、直装版
安装并配置必要的依赖关系
#1.安装ssh
sudo yum install -y curl policycoreutils-python openssh-server
#2.将SSH服务设置成开机自启动,安装命令:
sudo systemctl enable sshd
#3.启动SSH服务,安装命令:
sudo systemctl start sshd
添加GitLab镜像源并安装gitlab服务器
1.添加gitlab镜像
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
2.安装gitlab
安装命令:rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
安装过程需要些时间
3.修改gitlab配置文件指定服务器ip和自定义端口
vi /etc/gitlab/gitlab.rb
找到:external_url=10.12.20.21
修改服务器ip:port
4.重置并启动GitLab
gitlab-ctl reconfigure
gitlab-ctl restart
二、Docker版本
1、下载镜像
官方版本是:gitlab/gitlab-ce:latest,为了提升速度我们这里使用阿里云的仓库
$ docker pull registry.cn-hangzhou.aliyuncs.com/imooc/gitlab-ce:latest
2、运行GitLab容器
使用docker命令运行容器,注意修改hostname为自己喜欢的名字,-v部分挂载目录要修改为自己的目录。
端口映射这里使用的都是安全端口,如果大家的环境没有端口限制或冲突可以使用与容器同端口,如:-p 443:443 -p 80:80 -p 22:22
1生成启动文件 - start.sh
$ cat <<EOF > start.sh
#!/bin/bash
HOST_NAME=gitlab.mooc.com
GITLAB_DIR=`pwd`
docker stop gitlab
docker rm gitlab
docker run -d \\
--hostname \${HOST_NAME} \\
-p 8443:443 -p 8080:80 -p 2222:22 \\
--name gitlab \\
-v \${GITLAB_DIR}/config:/etc/gitlab \\
-v \${GITLAB_DIR}/logs:/var/log/gitlab \\
-v \${GITLAB_DIR}/data:/var/opt/gitlab \\
registry.cn-hangzhou.aliyuncs.com/imooc/gitlab-ce:latest
EOF
运行start.sh 启动gitlab
$ sh start.sh
三、配置GitLab
1. 打开首页
地址:10.12.20.21
2. 设置管理员密码
首先根据提示输入管理员密码,这个密码是管理员用户的密码。对应的用户名是root,用于以管理员身份登录Gitlab。
3. 创建账号
设置好密码后去注册一个普通账号
4. 创建项目
注册成功后会跳到首页,我们创建一个项目,名字大家随意
5. 添加ssh key
项目建好了,我们加一个ssh key,以后本地pull/push就简单啦
首先去到添加ssh key的页面
然后拿到我们的sshkey 贴到框框里就行啦 怎么拿到呢?看下面:
#先看看是不是已经有啦,如果有内容就直接copy贴过去就行啦
$ cat ~/.ssh/id_rsa.pub#如果上一步没有这个文件 我们就创建一个,运行下面命令(邮箱改成自己的哦),一路回车就好了
$ ssh-****** -t rsa -C "aaa@qq.com"
$ cat ~/.ssh/id_rsa.pub
6. 测试一下
点开我们刚创建的项目,复制ssh的地址添加个文件试试(我的项目叫test)
#clone代码
$ git clone ssh://aaa@qq.com:2222/michael/test.git
#写一个文件
$ cd test && echo test > test
#push
$ git add .
$ git commit -m "test"
$ git push origin master
去gitlab上看看
到这我们的gitlab就齐活啦!愉快的使用吧~
Git分支管理模型可参考:https://blog.csdn.net/sundehui01/article/details/106116347
上一篇: 传感器