ubuntu安装gitlab及配置gitlab介绍
目录
- ubuntu安装gitlab及配置gitlab介绍
- 1. 安装
- 2.相关配置
- 3.git配置
- 4.gitlab使用指导
- 5.git使用
ubuntu18.04环境
1. 安装
安装配置依赖项
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates
安装发送邮件的(可以用自己熟悉的代替)
sudo apt-get install -y postfix
安装过程中会弹出对话框,按TAB键让按钮点亮后按Enter或者空格。填文字的地方随便写,是邮件中显示的发送者。
准备java
环境,已装忽略
添加gitlab的GPG key:
sudo curl -L https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey | sudo apt-key add -
添加source list:
sudo vi /etc/apt/sources.list.d/gitlab_gitlab-ce.list
将其增加清华镜像加速,原注释掉
#deb https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty main
#deb-src https://packages.gitlab.com/gitlab/gitlab-ce/ubuntu/ trusty main
deb https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu bionic main
deb-src https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu bionic main
添加后更新源:
sudo apt-get update
安装gitlab-ce:
sudo apt-get install gitlab-ce
2.相关配置
配置Gitlab IP
进入 /etc/gitlab/(cd /etc/gitlab/)
目录,打开gitlab.rb(sudo gedit gitlab.rb或者sudo vim gitlab.rb)
,将externval_url
之后的域名,修改成本机IP
line 30+: 改成本机ip或者项目的IP
修改邮件配置 (非必须)
同上,要修改/etc/gitlab/gitlab.rb文件,增加如下配置:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] ="smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "替换为自己的163邮箱"
gitlab_rails['smtp_password'] = "替换为自己的163授权码"
gitlab_rails['smtp_domain'] ="163.com"
gitlab_rails['smtp_authentication']="login"
gitlab_rails['smtp_enable_starttls_auto'] =true
- 修改gitlab配置的发信人
gitlab_rails[‘gitlab_email_from’] =”youremail@163.com”
user[“git_user_email”] =”youremail@163.com”
注意:要使用163提供的SMTP
和POP3
服务,需要到自己邮箱里做设置,上面的smtp_password
不是你的邮箱登录密码,而是你设置的那个授权码。
项目Path修改-重复
将/etc/gitlab/gitlab.rb中的external_url通常会改成一个局域网IP,如下:
external_url ‘http://192.168.5.235’
但是此时网页中项目的Path路径还没有被修改,此时还需要改动另一个地方,进行以下路径,
cd /opt/gitlab/embedded/service/gitlab-rails/config
修改gitlab.yml
,也有可能没有该文件,只有gitlab.yml.example,复制gitlab.yml.example并命名为gitlab.yml即可, cp gitlab.yml.example gitlab.yml,做出如下修改
production: &base
#
# 1. GitLab app settings
# ==========================
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: 10.108.5.235 // 改成自己的IP即可
port: 80
https: false
修改配置后
gitlab-ctl reconfigure // 一般在修改配置文件后,要执行
3.git配置
git config --global user.name "wexxxg"
git config --global user.email "wexxx@sxxxd.com.cn"
生成秘钥
ssh-keygen -t rsa -C "wenxxx@sxxxd.com.cn"
生成秘钥在~/.ssh文件夹中,生成秘钥后,将.pub公钥复制到gitlab SSH中
此时,配置已完成,其他git操作一样
设置免密:
git config --global credential.helper store
4.gitlab使用指导
1、git 不支持单个文件获取,所以在此使用分支作为版本号
2、另只能获取单个分支,没有直接命令获取全部分支
3、gitlab中项目拥有者,不支持转移,只能更改项目名、目录和删除
5.git使用
Git客户端-服务器
5.1 安装git 版本2.0以上
查看git版本 git–version
5.2 配置git
git config –e
查看当前仓库的配置信息,须在本地仓库目录下。
git config --global user.name"John Doe"
git config --global user.email "johndoe@doebrothers.com"
5.3 配置ssh密钥
ssh-keygen-t rsa -C 'xxx@xxx.com' 然后一路回车(-C 参数是你的邮箱地址)
生成的公密钥要放入到gitlab
中
这样你才可以访问该账户下的项目。
1个的ssh密钥仅可以配置1个gitlab账户
其他的gitlab账户不可再次使用该ssh密钥
若要再次创建ssh 注意修改密钥名称,否则覆盖原有密钥,影响使用。
默认密钥名为:id_rsa
,
设置免密:
git config --global credential.helper store
5.4使用git 下载版本文件
创建本地git 仓库
git clone git@git.tsinghua.edu.cn:ly1252/goodtest.git
下载分支版本/切换分支
新建分支,并切换到该分支
git checkout [-b] branch-name
新建分支
git branch branch-name
切换到某分支
git checkout branch-name
5.5查看分支(版本号)
命令:
# 查看本地分支
git branch
# 查看远程仓库分支
git branch -r
拉取单个文件命令
有时git库里的东西比较多,我们只希望像SVN一样,只拉取git库的一个目录。
例如:基础代码仓库infra-code_ops有很多基础代码,我们只想拉取仓库里nginx-conf目录的文件。
$ gitinit infra-code_ops-nginx && cd infra-code_ops-nginx //初始化仓库,并进入该目录
$ git remote add -forigin http://gitlab.xxx.com/ops/infra-code_ops.git //添加远程仓库地址
$ git configcore.sparsecheckout true //开启sparse checkout功能
$echo "nginx-conf/" >> .git/info/sparse-checkout //将nginx-conf/目录写入到该文件中
$ cat.git/info/sparse-checkout //确认查看该文件内容
$ git pull originmaster //拉取远程master分支
修改 /删除 分支原有文件
会导致上传异常,目前没有找到通用的方法:
建议使用删除分支,新建分支处理
GitLab使用教程初步了解,连接如下
删除项目
进入goodtest项目,在设置-》通用-》高级-》
展开最下方
创建分支、新建文件、上传文件
删除群组
进入goodone群组,在设置-》通用-》路径、转移、删除-》展开最下方
注意:
1.版本使用:本地git版本必须2.*
- Gitlab项目版本流程:应用版本管理(一般全版本)
本地上传文件到gitlab项目仓库
服务器执行脚本下载gitlab项目-仓库版本号
文件目录格式:
版本号
-压缩包
-版本说明文件
-sql文件
默认主分支为master 其他分支为版本号
首次创建本地库
ssh
配置:
使用ssh (在创建项目时勾选:私有)
git clone git@git.tsinghua.edu.cn:ly1252/goodtest.git
或https
创建 (在创建项目时勾选:内部)
git clone https://git@git.tsinghua.edu.cn:ly1252/goodtest.git
本地会创建goodtest文件夹
使用ssh连接 ,首次clone是创建本地仓库,从gitlab上下载项目文件
添加ssh访问密钥
点击右上角账户头像——》设置
新页面中 点击 ssh密钥-》输入公密—-》添加密钥
项目添加成员
从gitlab下载文件到本地库
之后从gitlab取文件,使用如下命令:
创建别名为name的远程链接库 git remote add name path
修改远程连接 vi .git/config
Path 为https://user:pwd@git.tsinghua.edu.cn/ly1252/goodtest/tree/
修改克隆https的路径https://git.tsinghua.edu.cn/ly1252/goodtest.git
user:pwd@是免密登录书写,user是gitlab用户名,pwd是gitlab用户密码
cd goodtest 进入仓库文件夹
git pull name branch 获取远程仓库的branch分支内容
创建本地窗口
Git clone
下载分支
Git pull url branch