02【前端工程化初探】GitLab本地部署

news/2024/11/15 7:33:31/

概述

这篇文章先来预热一下,我们在自己的虚拟机里搭建一套GitLab环境,然后自己就可以使劲折腾。具体搭建步骤如下。

 

系统环境

系统:CentOS 8.1

内存:4G起步

硬盘:50G(仅供测试环境)

IP:192.168.0.104

 

具体操作步骤

一、CentOS 8.1安装

1、到CentOS官网(https://www.centos.org/)下载最新版的安装镜像,如下图所示:

2、使用VirtualBox安装CentOS 8.1的虚拟机。首先在VirtualBox中选择新建虚拟机,然后在弹出的面板中输入虚拟机相关的信息,包括虚拟机名称、存放目录、虚拟机类型、虚拟机内存、硬盘大小等,设置完后点击确定即可完成一个虚拟机的初始创建,如下:

3、初始化后的虚拟机是没有关联镜像的,所以我们接下来进行关联镜像。点击【设置】菜单,然后选择【存储】选项卡,打开存储设置面板,如下:

在此面板选择控制器下的“没有盘片”字样,然后点击图中位置进行镜像文件的选择和关联,如下:

点击确定后即可完成镜像文件的关联操作。

4、同样的在设置面板选择【系统】选项卡,然后将光驱启动设置为第一启动项,如下图所示:

5、点击【启动】菜单按钮,开始虚拟机的安装,如下:

6、点击启动按钮后,虚拟机CentOS 8.1的安装过程其实就和我们普通的CentOS系统安装没有任何区别了,我们只需要简单的配置下安装时候所需要的一些信息即可,比如我配置了安装桌面选项,如下图(这个过程中的有些参数如果有不明白的,直接网上找资料即可,资料是非常多的,没必要在此处做重复的介绍):

如果点击重启后又重新进入到了安装界面,我们只需要点击上方的【控制】菜单,然后打开设置面板,在存储选项卡下将我们之前添加的CentOS镜像盘片卸载掉即可,因为这时候系统已经安装好了,它就没有存在的必要了。卸载之后重启虚拟机即可正常进入系统了,如下:

7、如上所示,CentOS 8.1系统安装成功。

二、GitLab部署

通过以上操作我们完成了CentOS 8.1虚拟机的安装,接下来就开始部署GitLab。使用XShell等工具连接安装的CentOS 8.1虚拟机,在连接过程中如果发现虚拟机的IP是10.0.2.15或者说虚拟机压根就没有IP信息,这就需要我们为虚拟机配置网络信息和启动网卡,具体操作步骤请查阅网络资料即可。

虚拟机网络配置正常后,我们接下来进行GitLab的配置。

1、GitLab的安装部署其实直接看官网的文档即可,里面描写的很清楚,地址如下:

https://about.gitlab.com/install/#centos-8

2、首先我们使用以下命令来打开防火墙中的HTTP、HTTPS、SSH通道,如下:

sudo dnf install -y curl policycoreutils openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
# Check if opening the firewall is needed with: sudo systemctl status firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

3、然后通过以下命令来安装Postfix来实现邮件通知功能,如下:

sudo dnf install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

4、接下来进行安装和配置GitLab,如下:

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://localhost" dnf install -y gitlab-ee

5、安装完成后,使用如下命令安装Vim编辑器:

yum install vim -y

6、使用如下命令配置gitlab的访问IP和端口:

vim /etc/gitlab/gitlab.rb

将我们安装是指定的localhost改成虚拟机IP,端口指定一个另外的端口,如上图所示。修改成功后,使用如下命令使配置生效,并且重启gitlab:

gitlab-ctl reconfigure
gitlab-ctl restart

7、通过以下命令开放8088端口:

firewall-cmd --zone=public --list-ports #查看开放端口
firewall-cmd --zone=public --add-port=8088/tcp --permanent #开放8088端口
firewall-cmd --reload   #重新加载配置
#如果不需要,也可以直接关闭防火墙
systemctl stop firewalld.service

8、浏览器通过地址"http://192.168.0.104:8088/"地址来访问gitlab,初次访问会被重定向到密码修改界面,初始账户为:

初始账户: root 密码:5iveL!fe

登录修改密码后,页面会自动会到登录界面,我们用新密码登录即可进入到部署的GitLab,如下所示:

9、使用如下命令进入到虚拟机网卡设置目录,设置虚拟机静态IP,如下:

cd /etc/sysconfig/network-scripts/
vi ifcfg-enp0s3

然后在文件中做如下修改:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"#动态ip
#BOOTPROTO="dhcp"#静态IP
BOOTPROTO=static
IPADDR=192.168.0.104 ## 你想要的静态ip
NETMASK=255.255.255.0 #子网掩码为物理机子网掩码(subnet mask) 
GATEWAY=192.168.0.1 #跟物理机网关相同DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="0dd666ac-c97e-4b6a-898e-0765ba16246d"
DEVICE="enp0s3"
ONBOOT="yes"

保存退出后,使用如下命令重启网卡:

nmcli c reload

至此,虚拟机静态IP设置成功。

10、使用如下命令进行邮箱配置:

vim /etc/gitlab/gitlab.rb

然后在配置文件中添加如下信息:​

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "2250685378@qq.com"
gitlab_rails['smtp_password'] = "ddddddddddwwwww"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = '2250685378@qq.com'#修改gitlab配置的发信人
gitlab_rails['gitlab_email_from'] = "2250685378@qq.com"
user["git_user_email"] = "2250685378@qq.com"  # 必须是一个具体的邮箱。不能瞎编

配置保存之后,使用如下命令进行配置生效和gitlab重启:

gitlab-ctl reconfigure
gitlab-ctl restart

重启成功后,使用如下命令开启虚拟机的465端口,如下:

firewall-cmd --zone=public --list-ports #查看开放端口
firewall-cmd --zone=public --add-port=465/tcp --permanent #开放465端口
firewall-cmd --reload   #重新加载配置
#如果不需要,也可以直接关闭防火墙
systemctl stop firewalld.service

然后使用如下命令进行邮箱配置的测试:

gitlab-rails console
Notify.test_email('2250685378@qq.com','X北辰北','测试邮件').deliver_now

如果出现以下报错信息,是因为我们的邮箱没有开启SMTP服务导致:

我们打开QQ邮箱的设置界面,然后切换到【账户】选项卡,在页面底部选择打开相应的服务,打开后会给我们一段授权码,然后我们将授权码粘贴到gitlab的配置文件中,重新使之生效和启动gitlab,如下:

使用命令打开gitlab配置文件,替换配置文件中的邮箱密码为生成的授权码:

然后同样的,使用如下命令使配置生效和重启gitlab:

gitlab-ctl reconfigure
gitlab-ctl restart

gitlab重启后,我们使用上述的测试命令再次进行测试,如果邮件成功发送,则说明邮箱配置成功,如下:

11、打开"C:\Users\用户名\.ssh"目录,将里面id_rsa.pub文件里的信息复制粘贴到gitlab,就完成了gitlab的ssh配置,然后我们接下来进行测试。

12、我们在gitlab中新建一个项目,然后将它git clone到本地,如下:

然后修改里面的README文档或者自己新建一个html页面,使用git将它提交,如果成功提交,则说明我们的gitlab到目前为止完成了基础的配置,如下:

此时我们的GitLab环境安装部署成功。

 

总结

这篇文章在部署成功GitLab的同时,我们还配置了邮件发送,当我们提交代码后,邮箱会收到相应的提示信息。

 

 

 

 

 

 

 

 

 

 

 

 

 

 


http://www.ppmy.cn/news/637579.html

相关文章

钓鱼网站与反钓鱼技术剖析(圆桌会议)

在昨天,一个 DNF 的钓鱼页面引起了我的注意,按照常理来说,腾讯游戏的钓鱼链接发送到 QQ 中,不到一分钟便会被拦截提示危险。而对方 URL 腾讯并不做拦截,于是我和朋友分析了其原理,通过多次实验现已经能够成…

联想 R9000 系列以及Realtek Semiconductor Co., Ltd. Device 88xx系列 Ubuntu WIFI 不能使用

1.设置bios 打开主板系统,将security boot设置为disenable,我们接下来的操作会涉及到内核级别需要关闭。 2.查询网卡型号 ➜ ~ lspci | grep Network 02:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device 8852可以看…

win7系统未响应卡住_系统经常假死怎么办|win7系统经常无响应|win10系统经常未响应怎么解决...

2016-12-09 10:51:44 电脑安装windows7操作系统后,难免会遇到一些故障问题,这不有位用户说打开应用程序经常出现未响应的情况,每次都要等待很久的时间,这可怎么办呢?有些用户尝试启动任务管理器来关闭未... 2016-01-22…

LinuxProbe 0x17 DHCP动态管理主机地址、电子邮件系统

动态主机配置协议(DHCP,Dynamic Host Configuration Protocol),该协议用于自动管理局域网内主机的IP地址、子网掩码、网关地址及DNS地址等参数,可以有效地提升IP地址的利用率,提高配置效率,并降…

邮件服务器4—域间收发

DNS服务器–域间邮件收发 文章目录 DNS服务器--域间邮件收发 实验环境对A主机进行配置一、创建两台DNS服务器(b)修改named.baidu.com文件(c)修改named.qq.com文件(d)启动服务: 二、添加baidu域1、修改dovecot服务2、修改10-mail.conf 配置文件3、配置sasl服务 三、启动网卡并检…

回顾RHCE——邮件收发实验

邮件收发实验 一、Linux本地邮件收发实验二、启用域名邮件收发实验三、群发邮件实验四、启用用户认证收发实验 一、Linux本地邮件收发实验 安装相关软件包 [rootlocalhost ~]# dnf install postfix mailx -y启服务 [rootlocalhost ~]# systemctl start postfix添加用户并查看…

电子邮件系统

一,介绍 电子邮件系统基于邮件协议来完成电子邮件的传输 常见的电子邮件协议:SMTP、POP3、IMAP4等。 简单邮件传输协议 SMTP:用于发送和中转发出的电子邮件,占用服务器的TCP/25端口。 邮局协议版本 3POP3:用于将电…

【共享内存】共享内存(Shared Memory)与进程通信

目录 一、共享内存概述 二、共享内存操作 1)获得一个共享存储标识符:shmget函数 2)共享内存映射(attach):shmat函数 3)解除共享内存映射(detach):shmdt函数 4)共享内存控制:sh…