本文得主要内容在于gitlab的使用上,基于的官方镜像,如果想自己新建镜像文件,则本文满足不了你的要求。
下面我们来看下gitlab的docker镜像怎么用
一、创建镜像容器
1.获取镜像文件
Gitlab在docker的镜像库有官方的镜像文件,直接下载即可
docker pull gitlab-ce
2.定义数据存放目录
mkdir -p /srv/gitlab/config
mkdir -p /srv/gitlab/logs
mkdir -p /srv/gitlab/data
3 启动容器
docker run --detach \
--hostname gitlab.example.com \
--publish 443:443 --publish 80:80 --publish 23:23 \
--name gitlab \
--restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
至此,一个基于docker容器的gitlab就以及运行起来啦
二 、Gitlab的访问
直接访问宿主机的ip地址即可访问gitlab,初始进入时需要创建管理员的密码
管理员账号为root
初次启动需要的时间较长,可能会出现502,稍等一会即可
上图为登录的页面,也可以注册账号,此处使用root登录。
三、Gitlab的使用
登录之后就进入主界面,显示当前gitlab中存在的项目
在此处可以管理项目,执行新增查询等操作。
选择一个项目即进入了项目的明细信息
http/ssh URL:中间的链接是我们在客户端访问该项目的仓库地址
右侧的图标表示提醒策略,可以对项目添加一些邮件提醒:比如在新增代码,修改代码的时候发出邮件等
1>分支操作
此处为分支的操作,可以创建,修改,切换分支,给分支做标记等,也可以通过浏览器上传文件。
2>查看操作日志
点击activity可以查看当前项目的历史操作日志,包括提交、合并、注释等
3>周期数据分析
点击cycle analytics 可以查看当前项目的历史数据分析信息
包括了项目的完成计划,代码bug,测试记录等多项维度统计信息
4>仓库项目明细
点击Repository查看项目明细
包括了文件,分支,标签,共享者,比较,项目图示以及图标统计
Issue为事件管理,在里面列出哪些项目需要做,哪些项目正在进行,自定义一些tag等,来对日常开发进行一个管理
Merge requests 为开发者在代码合并的时候提供一个交流的平台
CI/CD 自动化部署的配置版块
Wiki的功能是做项目文档管理
Snippet为摘抄版,可以存放一些有用的代码段
Setting 则是对左侧菜单,项目权限,集成服务做一些管理
右上角选择setting配置用户的信息。
填写用户名,邮箱等相关信息。
修改preferred language选择简体中文即可改为中文界面显示。
配置ssh密钥
在客户机上如果想要免密操作仓库,需要配置ssh的密钥信息
在客户机生成密钥之后将密钥拷贝粘贴到输入框,保存即可
活动会话选项可以管理连接到此仓库的主机的会话情况。
选择中间的小扳手即可进入全局面板
在这里可以看到项目的总览信息,服务器资源的相关信息。
四、 git命令的使用
#安装centos7的epel
yum install -y epel-release
#yum安装git
yum install -y git
#新增git用户并赋权
useradd git
passwd git
#禁用git用户shell登录(一定要禁用)
vi /etc/passwd
将git用户修改为如下
git:x:1000:1000::/home/git:/usr/bin/git-shell
安装git
yum install -y git
创建你的项目目录
创建git用户
useradd git
passwd git
创建秘钥
ssh-keygen -t rsa
将秘钥添加至gitlab服务器
git拉取远程仓库项目 git clone 使用http地址
设置工作的用户名和邮箱
git config --global user.name ""
git config --global user.email ""
创建进入项目目录
git init #初始化git
git设置远程仓库地址
git remote set-url origin http://10.16.8.66/root/my-project.git
git remote add origin http://10.16.8.66/root/my-project.git
#git remote remove origin
git add file1 #将待提交文件添加到缓存
git status 查看当前版本库状态,查看是否有待提交的文件
git commit -m "commit a file"
修改三次readme文件并提交到版本库里
git log 查看git的提交日志
git log --pretty=oneline让输出更美观点
左侧即为版本号,右侧为更新注释
git reset --hard HEAD~1 git切换版本号
git reflog 记录你的每一次git操作命令
git checkout -- 文件名 放弃对文件的当次修改
git reset HEAD 文件名 将文件从暂存区移除
git rm 从版本库删除文件
git push -u origin master向远程仓库提交你的分支
需要输入你的账号密码
git checkout -b dev 新建一个分支并切换到该分支
git checkout
git pull <远程库名> <远程分支名>:<本地分支名>
git merge 分支名 将当前分支与指定分支合并
git merge --no-ff -m "merge with branch1" branch1 禁用Fast forward
git stash 把当前的工作现场存储起来
git remote查看远程仓库信息
git remote -v 显示更加详细的远程信息
当版本库上的代码与本地代码冲突导致无法提交时,先将远程仓库的代码版本拉取到本地,合并解决冲突,再推送。
git tag
git show
git tag -d 删除标签
git revert 将当前的工作目录完全回滚到指定的版本号
查看当前的git配置信息
git config --list