博客为日常工作学习积累总结:

1.安装gitlub

sudo yum install -y curl policycoreutils-python openssh-server openssh-clients

  • sudo systemctl enable sshd
  • sudo systemctl start sshd
    1.  
       
      sudo yum install postfix
    1.  
    1.  
       
      sudo systemctl enable postfix
       
      sudo systemctl start postfix
       
       

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

rpm -ivh gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm 

修改配置文件:

[root@git ~]# vim /etc/gitlab/gitlab.rb 

13 external_url 'http://192.168.50.184'

[root@git ~]# gitlab-ctl reconfigure

访问:http://192.168.50.184/

设置密码:*****

设置账号:root

2.命令练习

查看运行的组件

gitlab-ctl start

gitlab-ctl stop

gitlab-ctl restart

gitlab-ctl show-config

[root@git ~]# gitlab-ctl status
run: gitaly: (pid 17810) 984s; run: log: (pid 17480) 1043s
run: gitlab-monitor: (pid 17847) 983s; run: log: (pid 17697) 1013s
run: gitlab-workhorse: (pid 17824) 984s; run: log: (pid 17545) 1037s
run: logrotate: (pid 17607) 1025s; run: log: (pid 17606) 1025s
run: nginx: (pid 17571) 1031s; run: log: (pid 17570) 1031s
run: node-exporter: (pid 17676) 1019s; run: log: (pid 17675) 1019s
run: postgres-exporter: (pid 17905) 982s; run: log: (pid 17761) 999s
run: postgresql: (pid 17305) 1082s; run: log: (pid 17304) 1082s
run: prometheus: (pid 17855) 983s; run: log: (pid 17736) 1005s
run: redis: (pid 17233) 1090s; run: log: (pid 17232) 1090s
run: redis-exporter: (pid 17720) 1008s; run: log: (pid 17719) 1008s
run: sidekiq: (pid 17462) 1046s; run: log: (pid 17461) 1046s
run: unicorn: (pid 17423) 1052s; run: log: (pid 17422) 1052s

查看组件日子:

[root@git ~]# gitlab-ctl tail nginx

[root@git ~]# cd /var/log/gitlab/

3.管理员界面操作

小扳手的图标:admin area

第一步:创建用户组:

创建项目组java

第二步:创建用户:

创建用户pm,dev1,dev2

第三步:创建项目:

创建项目app1

第四步:配置公钥:linux系统拉取代码配置方式

[root@git ~]# ssh-keygen

配置公钥:一个公钥全网只能一个用户使用

在用户属性里面配置

[root@git~]# cd .ssh/

[root@git .ssh]# cat id_rsa.pub

用所属者新建

创建文件新建分支:

用dev1操作:

git clone git@192.168.50.184:java/app1.git

进入克隆的项目app1里面git pull拉取代码

[root@git app1]# ls
[root@git app1]# git pull
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From 192.168.50.184:java/app1
* [new branch] master -> origin/master

第五步:配置公钥:windows系统拉取代码配置方式

安装bash shell   Git-2.15.1.2-64-bit.exe

到目录右键选择git bash here  F:\git

ssh-keygen

加到dev2里面,配置公钥,

git clone git@192.168.50.184:java/app1.git

第六步:配置deploy_keys给jenkins用:

第七步:pm新建里程碑分配开发任务:

第八步:dev1接受开发任务准备开发:

新建分支:创建分支后就会切换

[root@git app1]# git checkout -b shouye
Switched to a new branch 'shouye'
[root@git app1]# git status
On branch shouye
nothing to commit, working tree clean

写页面:

[root@git app1]# vim index.html
<h1>welcome to beijing</h1>

提交到本机仓库:

[root@git app1]# git add .
[root@git app1]# git commit -m "shouye"
[shouye fbee400] shouye
1 file changed, 1 insertion(+)
create mode 100644 index.html

提交到远程仓库:分支名

[root@git app1]# git push origin shouye
Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 296 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote:
remote: To create a merge request for shouye, visit:
remote: http://192.168.50.184/java/app1/merge_requests/new?merge_request%5Bsource_branch%5D=shouye
remote:
To 192.168.50.184:java/app1.git
* [new branch] shouye -> shouye

pm界面操作将首页分支merge到master分支

开发第二个工作任务

切换到主分支更新代码

[root@git app1]# git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
[root@git app1]# git pull
remote: Counting objects: 1, done.
remote: Total 1 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (1/1), done.
From 192.168.50.184:java/app1
c404246..c99e8c7 master -> origin/master
Updating c404246..c99e8c7
Fast-forward
index.html | 1 +
1 file changed, 1 insertion(+)
create mode 100644 index.html

创建news分支

[root@git app1]# git checkout -b news
Switched to a new branch 'news'

[root@git app1]# vim news.html
news center

可自动关闭issues

[root@git app1]# git add .
[root@git app1]# git commit -m "close #2"
[news 30bf4e7] close #2
1 file changed, 1 insertion(+)
create mode 100644 news.html
[root@git app1]# git status
On branch news
nothing to commit, working tree clean
[root@git app1]# git merge news
Already up-to-date.
[root@git app1]# git log

[root@git app1]# git push origin master
Everything up-to-date

开发的角色不能将代码推送到主分支

[root@git app1]# git status
On branch news
nothing to commit, working tree clean
[root@git app1]# git push origin news

[root@git ~]# mkdir -p /data/backups/gitlab

修改代码备份的位置

272 gitlab_rails['backup_path'] = "/data/backups/gitlab"

放开代码备份天数

280 gitlab_rails['backup_keep_time'] = 604800

从新加载配置文件

[root@git ~]# gitlab-ctl reconfigure

重启gitlab

[root@git ~]# gitlab-ctl restart

给备份目录加git权限

[root@git ~]# ll /data/backups/
total 0
drwx------ 2 git root 6 Apr 12 16:12 gitlab
[root@git ~]# chown -R git.git /data/backups/gitlab
[root@git ~]# ll /data/backups/
total 0
drwx------ 2 git git 6 Apr 12 16:12 gitlab

定时任务crontab中加入

[root@git ~]# crontab -e
no crontab for root - using an empty one
0 2 * * * /usr/bin/gitlab-rake gitlab:backup:create

[root@git ~]# ls /data/backups/gitlab/
1555057701_2019_04_12_10.0.0_gitlab_backup.tar
[root@git ~]# date -d @1555057701
Fri Apr 12 16:28:21 CST 2019

恢复备份数据:

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

gitlab-rake gitlab:backup:restore BACKUP=

[root@git ~]# gitlab-ctl stop unicorn
ok: down: unicorn: 1s, normally up
[root@git ~]# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up

[root@git ~]# gitlab-rake gitlab:backup:restore BACKUP=1555057701_2019_04_12_10.0.0

两个yes恢复OK

[root@git ~]# ls /var/opt/gitlab/git-data/repositories/java/
app1.git

重启gitlab

[root@git ~]# gitlab-ctl restart

配置邮件及ldap认证:

https://blog.csdn.net/chanjingyue/article/details/80523600

gitlab汉化:

https://blog.csdn.net/qq_40025218/article/details/81360794

07.安装及使用gitlub的更多相关文章

  1. 指导手册 07 安装配置HIVE

    指导手册 07 安装配置HIVE   安装环境及所需安装包: 1.操作系统:centos6.8 2.四台虚拟机:master :10.0.2.4, slave1:10.0.2.5,slave2:10. ...

  2. CentOS7安装OpenStack(Rocky版)-07.安装horizon服务组件(控制节点dashboard)

    在上一篇文章分享了neutron网络服务的安装配置,本文分享openstack的horizon(dashboard)web界面管理服务,方便在浏览器操作 ---------------------- ...

  3. Liunx 安装 Mysql 5.7

    #[安装 Mysql 5.7] # 00.系统目录说明# 安装文件下载目录:/data/software# Mysql目录安装位置:/usr/local/mysql# 数据库保存位置:/data/my ...

  4. centos6.8上安装paramiko

    author : headsen  chen date: 2018-10-07   17:06:07 # 安装gcc,python-devel yum -y install python-devel ...

  5. npm 的安装与使用

    创建: 2019/04/06 完成: 2019/04/07  安装 npm写在node.js里, 故安装node.js即可 https://nodejs.org/en/download/ 确认是否安装 ...

  6. k8s环境搭建--基于kubeadm方法

    环境 master node: 数量 1, 系统 ubuntu 16.04_amd64 worker node: 数量 1, 系统 ubuntu 16.04_amd64 kubernetes 版本: ...

  7. 黑马程序员_java基础笔记(01)...java的环境搭建

    —————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!——————————  JavaSE(Java Standard Edtion java标准版)技术概况 ...

  8. 0002 Django工程创建

    1 创建一个目录,用于专门存放Django工程的虚拟环境 PyCharm默认虚拟环境在工程内,从而导致打包的时候,会把虚拟环境一起打包. 同时,虚拟环境中的插件较多,一个工程创建了一个虚拟环境,以后, ...

  9. 02 Django虚拟环境搭建

    01 创建虚拟环境目录 该目录用于存放所有虚拟环境. cd / mkdir venv cd venv 02 创建当前项目的虚拟环境 virtualenv --python=/usr/bin/pytho ...

随机推荐

  1. Spring中无法访问resources目录下页面或静态资源

    1.新建项目,在 resources 目录下创建 views 目录,在 views 目录下创建 index.html 页面,项目跑起来,浏览器访问页面,提示找不到页面之类的错误提示. 2.再尝试访问图 ...

  2. C++ VS编译问题--VS下生成DLL,但没有生成Lib的解决办法

    如果项目生成了.dll文件,但是没有生成.lib文件,这是由于项目的设置错误,应作如下修改: 项目->属性->链接器->输入->模块定义文件,设置你的模块定义文件,默认为lib ...

  3. VC学习笔记----STL库

      STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Lee和David R Muss ...

  4. 基于容器微服务的PaaS云平台设计(一) 实现容器微服务和持续集成

    版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 ,博主地址:http://www.cnblogs.com/SuperXJ/ 前言:关于什么是容器微服务PaaS和容器微服务PaaS的 ...

  5. C#获取apk版本信息

    获取很多人都会问我为什么要写这个博客,原因很简单,这次研发apk版本信息的时候网上查了很多的资料都没有这方面的信息,因此这次功能完了想写下方法,如果以后博友们遇到了可以直接copy,不用花很多的时间, ...

  6. .Net程序员应该掌握的正则表达式

    Regular Expression Net程序员必然要掌握正则的核心内容:匹配.提取.替换.常用元字符. 正则表达式是用来进行文本处理的技术,是语言无关的,在几乎所有语言中都有实现. 常用元字符 . ...

  7. mongoDb 命令

    1.显示MongoDB的服务器统计:db.stats() 2.创建数据库:use dbname 3.删除数据库:db.dropDatabase() 4.检查当前选择的数据库:db 5.检查数据库列表: ...

  8. 最短路径-Dijkstra算法与Floyd算法

    一.最短路径 ①在非网图中,最短路径是指两顶点之间经历的边数最少的路径. AE:1    ADE:2   ADCE:3   ABCE:3 ②在网图中,最短路径是指两顶点之间经历的边上权值之和最短的路径 ...

  9. MyEclipse中关于JRE System Library、Web App Libraries的疑惑

    简要说明一下:其实,这三个都是jar包的存放集合. 1.JRE System Library主要存放J2SE的标准jar,一般不需要调整. 2.Referenced Libraries是存放第三方的j ...

  10. Beta版本 为什么程序员总是分不清万圣节和圣诞节?因为 Oct 31 == Dec 25。

    Beta版本 软件的测试版本,经常在各类著名软件中的前期发布版本的后缀中可见,包括大名鼎鼎的windows系统,这个阶段的版本一直加入一些新的功能. 软件测试可分为alpha测试.beta测试和联合测 ...