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提供的SMTPPOP3服务,需要到自己邮箱里做设置,上面的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.*
  1. 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