gitlab部署与使用

一、gitlab的部署

Gitlab服务的安装文档
环境要求
安装包下载地址
rpm包国内下载地址

1、ubuntu环境(最小化安装)

root@jenkins:~# apt install iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev gcc openssh-server iotop unzip zip ipmitool

2、centos环境(最小化安装)

yum install vim gcc gcc-c++ wget net-tools lrzsz iotop lsof iotop bash-completion -y
yum install curl policycoreutils openssh-server openssh-clients postfix -y

3、gitlab的安装

下载gitlab安装包时,ubuntu要注意系统的版本号,文件包下载小版本号大的,生产中gitlab一般只安装一次,剩下的就是进行维护,gitlab要注意数据备份。
(1)安装

dpkg -i gitlab-ce_11.11.5-ce.0_amd64.deb

安装结果:

     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance. #gitlab没匹配到hostname,可以先忽略
Please configure a URL for your GitLab instance by setting `external_url` #安装好后要设置gitlab的web路径
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure #修改完配置文件,执行该命令启动gitlab

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

(2)修改gitlab的配置

vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.43.111' #url可以使用IP或者域名,域名要可以使用dns进行解析

#邮件通知配置(之后忘记密码可以使用该配置发邮件重置密码)
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "*****@163.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "*****@163.com"
user["git_user_email"] = "*****@163.com"

(3)初始化gitlab

gitlab-ctl reconfigure #修改完配置文件执行此操作初始化gitlab并启动程序
web界面登录

登陆之前要设置密码,密码为8位以上的字符,第一次登录用户可以使用root

二、gitlab的使用

1、常用命令

gitlab-rails # 用于启动控制台进行特殊操作,比如修改管理员密码、打开数据库控制台 ( gitlab-rails dbconsole) 等
gitlab-psql # 数据库命令行
gitlab-rake # 数据备份恢复等数据操作
gitlab-ctl # 客户端命令行操作行
gitlab-ctl stop # 停止 gitlab
gitlab-ctl start 启动 gitlab
gitlab-ctl restart 重启 gitlab
gitlab-ctl status 查看组件运行状态
gitlab-ctl tail nginx 查看某个组件的日志

2、gitlab相关的文件

/var/opt/gitlab/backups/ Gitlab 数据备份目录,需要使用命令备份的
/var/opt/gitlab/nginx/conf nginx的配置文件
/etc/gitlab/gitlab.rb gitlab的配置文件

3、gitlab客户端使用

(1)关闭注册功能
Register为注册功能,一般会关掉,避免开发创建垃圾账户


登录页面

关闭注册功能

配置完成后记得保存设置,进度条往下拉
(2)创建group(项目)


创建group

生成新group

group中创建用户

(3)创建用户
创建用户

生成新用户

修改密码

修改密码

密码重置


密码重置

(4)group绑定用户
group绑定账户

添加项目的管理者,一般为开发的领导

切换到项目的owner账户,可以看到group
结果显示

(5)创建新的project
创建project

创建新project

(6)创建测试文件,测试git拉取文件
新建测试文件

生成测试文件

文件克隆

》http协议克隆(需要输入账户名和密码)
root@ubuntu20:~# git clone http://192.168.43.111/linux43/web1.git
Cloning into 'web1'...
Username for 'http://192.168.43.111': user1
Password for 'http://user1@192.168.43.111': 
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), 208 bytes | 208.00 KiB/s, done.

克隆数据后会在当前目录下生成一个数据目录,克隆时当前目录不能有相同名字的文件夹,不然会认为已完成克隆
》ssh-key克隆


添加公钥

首先要修改机器的hostname,然后重新登陆机器,修改hostname是因为key中需要

root@ubuntu20:~# cat /etc/hostname 
jenkins
root@ubuntu20:~# hostnamectl set-hostname jenkins

生成公钥,执行完命令直接回车即可

ssh-keygen 

克隆数据

git clone git@192.168.43.111:linux43/web1.git

(7)上传数据到gitlab中

git add ./* #添加 指定 文件 、 目录 或 当前 目录 下所有 数据 到暂存区
git commit m “11 “ #提交文件到工作区
git push #提交代码到服务器

4、git常用命令使用

git config --global user.name name “ #设置全局用户名,添加的数据在家目录的.gitconfig中,用户名和邮箱不必真实,可加可不加
git config --global user.email xxx@xx.com #设置全局邮箱
git config --global list #列出用户全局设置
git add index.html / #添加 指定 文件 、 目录 或 当前 目录 下所有 数据 到暂存区
git commit -m “11 “ #提交文件到工作区
git status #查看工作区的状态
git push #提交代码到服务器
git pull #获取代码到本地
git log #查看操作日志
vim .gitignore #定义忽略文件
git reset --hard HEAD^^ #git 版本回滚, HEAD 为当前版本,加一个^为上一个,^^为上上一个版 本
git reflog # 获取每次提交的 ID ,可以使用--hard 根据提交的 ID 进行版本回退
git reset --hard 5ae4b06 #回退到指定 id 的版本
git branch #查看当前所 处的分支
git checkout -b develop #创建并 切换到一个新分支
git checkout develop #切换分支
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容