Clay 的技术空间

用进废退 | 艺不压身

上篇 - Git 之七 - Centos7 搭建 Gitlab 服务器

Gitlab 常规配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 编辑Gitlab的配置文件
# vim /etc/gitlab/gitlab.rb

# 配置unicorn的端口(默认8080),注意不要用8082、9090端口,因为自带工具会占用
unicorn['port'] = 9999

# 配置Gitlab的默认备份路径
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

# 配置邮件发送
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "huangdc@domain.com"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_authentication']= "plain"
gitlab_rails['smtp_enable_starttls_auto']= true
gitlab_rails['gitlab_email_from']= "huangdc@domain.com"
gitlab_rails['gitlab_email_reply_to']= "noreply@domain.com"

# 配置SSH的端口(默认22),修改之后Gitlab中项目的SSH地址会在前面加上协议头和端口号,例如“ssh://git@192.168.1.198:55725/lisi/test.git”
gitlab_rails['gitlab_shell_ssh_port'] = 55725

# 重新编译Gitlab的配置
# gitlab-ctl reconfigure

# 重启GitLab
# gitlab-ctl restart
阅读全文 »

Gitlab 相关站点

Gitlab 介绍

GitLab 是基于 Ruby on Rails 的一个开源版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。GitLab 分为社区版(CE) 和企业版(EE)。它拥有与 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序 (Wall) 进行交流。依赖组件:Ruby、Git、Nginx、Redis、Sidekiq、GitLab Runner、Unicorn Workers、PostgreSQL/MySQL/MariaDB 等,其中 MySQL/MariaDB 并不完全支持 Gitlab 的所有功能,官方强烈推荐安装 PostgreSQL。

安装环境说明

1
2
3
4
5
$ uname -a
Linux centos7 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
阅读全文 »

Gitolite Github Repo

Gitolite 介绍

Gitolite 是一款 Perl 语言开发的 Git 服务管理工具,采用的是 SSH 协议并使用 SSH 公钥认证,能够通过配置文件对写操作进行基于分支和路径的精细授权。

安装环境说明

1
2
3
4
5
$ uname -a
Linux centos7 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
阅读全文 »

Git 工作流概念

Git 工作流指在项目开发过程中使用 Git 的方式,包括集中式工作流、功能分支工作流、GitFlow 工作流、Forking 工作流、Pull Requests。

Git 工作流分类

集中式工作流

像 Subversion 一样,集中式工作流以中央仓库作为项目所有修改的单点实体。所有修改都提交到 Master 这个分支上,这种方式与 SVN 的主要区别就是开发人员有本地库,但 Git 很多特性并没有使用到。

git-workflow-1

阅读全文 »

系统环境

1
2
CentOS Linux release 7.6.1810 (Core)
Linux 3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

临时更改最大打开文件描述符数

1
2
3
4
5
# 查看限制
# ulimit -n

# 临时更改限制(系统重启失效)
# ulimit -n 1048576
阅读全文 »

Git 的四个工作区域

ad

创建远程库与本地库

1
2
3
4
5
# 登录Github的Web页面创建远程库,并记录如下的远程库地址
# https://github.com/xxxx/remote-test.git

# 创建本地库,建议本地库的名称与远程库的名称一致
$ git init remote-test
阅读全文 »

前言

容器在运行期间产生的数据不会写在镜像里面,重新用此镜像创建并启动新的容器就会初始化镜像,加一个全新的容器可写层来保存数据。生产环境中使用 Docker 的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,Docker 提供数据卷和数据卷容器来解决;另外还可以通过 commit 提交一个新的镜像来保存产生的数据,也可以通过 “docker cp” 命令在宿主机与容器之间互相拷贝数据文件。

容器中管理数据主要的两种方式

数据卷(Data Volumes):容器内数据直接映射到本地主机环境。
数据卷容器(Data Volume Containers):使用特定容器维护数据卷。

阅读全文 »

Docker 镜像

镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,包含运行某个软件所需的所有内容,其中包括代码、运行时、库、环境变量、配置文件。

Docker 的 Base 镜像

Base 镜像从 scratch 构建,不依赖其他镜像,可作为其他应用镜像的父镜像;其他应用镜像可以在此基础进行扩展,Base 镜像通常都是各种 Linux 发行版的 Docker 镜像,比如 Ubuntu、Debian、CentOS 等。

阅读全文 »
0%