Gitlab服务器的搭建和CI(持续化集成)CD(持续化交付)并用Python实现自动化部署

本文介绍了如何搭建Gitlab服务器,并利用Jenkins实现CI/CD持续集成和持续交付。通过Python脚本,实现了检查、下载、验证及部署新版本的过程,确保了软件包的完整性和正确性。
摘要由CSDN通过智能技术生成

Gitlab是一个版本控制软件,直接部署在容器中,简单方便, 我们将数据存放在Gitlab的宿主机上,然后将数据映射到Gitlab容器的某个文件夹上, 这样,当Gitlab出现问题的时候,只需要将容器删除,重新运行一个Gitlab的容器就行,只要宿主机上的数据不出现问题即可.

CI(持续化集成): 

项目:实现CI/CD持续集成, 持续交付

持续集成:

程序员书写代码,把代码交给git管理,写到版本更新结束,打个标记,将程序上传到Gitlab服务器上; 我们通过jentens做程序集成,它可以构建一个工程(从Gitlab上将程序下载下来,并且对程序打包),为了方便应用服务器下载部署,在Jenkins服务器上安装了web服务器,将打包文件放在了web服务器上; 为了让应用服务器知道软件包是损坏了还是完好的,我们计算了它的MD5值,为了让应用服务器知道程序的当前版本和前一个版本是什么,我们准备了两个文件,liveversion和lastversion, 分别记录了当前版本和前一个版本;

python实现持续交付:

写一个脚本, 看一看web服务器上是否有最新版本, 有的话将其下载下来,没有的话就退出; 如果有的话, 下载下来了,将下载的软件包的MD5值与web服务器上的文件md5值进行比较,如果不相同则删除坏的软件包, 相同则准备安装部署(为了快速完成部署, 将下载的版本解压到不同的目录中, 想要切换版本, 创建一个链接指向相应的版本目录即可)

Gitlab服务器的搭建(IP:192.168.1.31):

1. 在官网上下载Gitlab镜像文件, 例如: gitlab_zh.tar;

2.安装docker:

[root@gitlab ~]#yum -y install docker       #已经将docker的软件包建立的yum仓库,可以直接yum安装

[root@gitlab ~]#systemctl start docker      #启动docker

[root@gitlab ~]#systemctl enable docker    #设置开机自启

3.更改端口号:

[root@gitlab ~]#vim /etc/ssh/sshd_config       #gitlab会用到22端口,更改ssh端口号为2022

[root@gitlab ~]#systemctl restart sshd.service    #重启服务

[root@gitlab ~]#ssh 192.168.1.31 -p 2022     #重新远程连接

4.加载Gitlab镜像:

[root@gitlab ~]#docker load < gitlab_zh.tar       #导入镜像包

[root@gitlab ~]#docker images      #查看Gitlab镜像是否导入

5.运行一个docker容器:

[root@gitlab ~]#docker run -d -h gitlab --name gitlab -p 443:443 -p 80:80 -p 22:22 --
restart always -v /srv/gitlab/config:/etc/gitlab -v /srv/gitlab/logs:/var/log/gitlab -v
/srv/gitlab/data:/var/opt/gitlab gitlab_zh:latest

#'-d'指在后台运行,'-h'指的是gitlab容器的主机名,'-p'指宿主机端口映射到容器的端口,
#当访问宿主机的端口时会直接访问到容器的相应映射端口, '-v' 前一个是本地文件,后一个
#是容器内的文件,实现本地文件到容器文件的映射, 'gitlab_zh:latest' 是镜像名字,
#用这个镜像启动容器

访问web页面:

192.168.1.31      #在内网直接输入IP地址就可以访问到, 这里会提示输入密码,密码需大于8位

默认用户名为root, 用'root'用户和新密码直接登录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值