二:gitlab部署与使用:
2.1:下载并部署gitlab:
2.1.1:Ubuntu 系统环境准备:
2.1.1.1:配置ubuntu 远程连接:
jack@ubuntu:~$ sudo su - root
[sudo] password for jack:
root@ubuntu:~# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@ubuntu:~# vim /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
2.1.1.2:配置ubuntu网卡和主机名:
root@ubuntu:~# cat /etc/netplan/01-netcfg.yaml
This file describes the network interfaces available on your system
For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: [192.168.8.2/21]
gateway4: 192.168.15.254
nameservers:
addresses: [192.168.15.254]
root@ubuntu:~# cat /etc/hostname
jenkins.example.com
root@ubuntu:~# reboot
2.1.1.3:配置ubuntu 仓库:
root@ubuntu:~#vim /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
root@jenkins:~# apt update
root@jenkins:~# apt install iproute2 ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev ntpdate tcpdump telnet traceroute gcc openssh-server lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev ntpdate tcpdump telnet traceroute iotop unzip zip ipmitool
2.1.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
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
systemctl disable firewalld
sed -i ‘/SELINUX/s/enforcing/disabled/’ /etc/sysconfig/selinux
hostnamectl set-hostname gitlab.example.com
yum update –y && reboot
2.1.3:gitlab安装及使用:
安装包下载地址:https://packages.gitlab.com/gitlab/gitlab-ce
rpm包国内下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/
root@gitlab:~# dpkg -i gitlab-ce_11.3.11-ce.0_amd64.deb
2.1.3.1:gitlab配置:
root@gitlab:~# grep ^ [a-Z] /etc/gitlab/gitlab.rb
external_url ‘http://192.168.8.3’
gitlab_rails[‘smtp_enable’] = true
gitlab_rails[‘smtp_address’] = “smtp.163.com”
gitlab_rails[‘smtp_port’] = 25
gitlab_rails[‘smtp_user_name’] = "rooroot@163.com"
gitlab_rails[‘smtp_password’] = “zhang@123”
gitlab_rails[‘smtp_domain’] = “163.com”
gitlab_rails[‘smtp_authentication’] = :login
gitlab_rails[‘smtp_enable_starttls_auto’] = true
gitlab_rails[‘smtp_tls’] = false
gitlab_rails[‘gitlab_email_from’] = "rooroot@163.com"
user[“git_user_email”] = rooroot@163.com
2.1.3.2:初始化服务:
执行配置并启动服务:
gitlab-ctl reconfigure #修改完配置文件要执行此操作
gitlab-ctl start
gitlab-ctl stop
gitlab-ctl restar
2.1.3.3:验证gitlab启动完成:
2.1.3.4:验证端口及状态:
80端口是在初始化gitlib的时候启动的,因此如果之前的有程序占用会导致初始
化失败或无法访问!
2.1.3.5:登录gitlab web界面:
http://x.x.x.x/
登录web页面并设置密码,最少8位:
2.1.3.7:默认首页:
2.1.3.8:关闭账号注册:
默认情况下可以直接注册账号,因此一般都关闭次功能:
取消账户注册功能之后点save
2.1.3.9:验证是否还有注册选项:
2.1.3.10:创建git账户:
2.1.3.11:重新设置密码:
使用第一次使用新账号登录要设置密码:
通过邮件重置用户密码:
在收件箱打开邮件设置密码:
2.1.3.12:创建组:
使用管理员root创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限,不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的管理。
2.1.3.13:使用管理员创建项目:
使用管理员创建项目
创建后的项目效果:
2.1.3.14:将用户添加到组:
https://docs.gitlab.com/ee/user/permissions.html (更多权限)
2.1.3.15:创建一个测试页面:
添加一个页面:
、
2.1.3.15:git客户端测试clone项目:
root@jenkins:/source# git clone http://192.168.8.3/test-service/test-project.git
Cloning into ‘test-project’…
Username for ‘http://192.168.8.3’: jack
Password for ‘http://jack@192.168.8.3’:
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), done.
root@jenkins:/source# cat test-project/index.html
11111111111
编辑文件并测试提交:
root@jenkins:/source# cd test-project/
root@jenkins:/source/test-project# git config --global user.name “jack”
root@jenkins:/source/test-project# git config --global user.email 2973707860@qq.com
root@jenkins:/source/test-project# vim index.html
root@jenkins:/source/test-project# cat index.html