gitlab和jenkins

一、gitlab:(使用主机ip:10.6.12.135)
页面版的git仓库,为了方便,使用docker部署。

安装与部署:

1、首先需要将真机的ssh服务的22端口修改成其他的端口(这里改为2222)
gitlab的docker要与真机的22端口进行绑定,方便使用ssh的方式下载上传
vim /etc/ssh/sshd_config
port 2222

systemctl restart sshd

2、下载对应的gitlab容器
docker search gitlab-ce-zh
docker pull docker.io/twang2218/gitlab-ce-zh	#汉化版

3、启动gitlab容器
docker run -d -h gitlib --name gitlib -p 443:443 -p 8000:80 -p22:22 --restart always -v /srv/gitlab/config:/etc/gitlab -v /srv/gitlab/logs:/var/log/gitlab -v /srv/gitlab/data:/var/opt/gitlab docker.io/twang2218/gitlab-ce-zh
# -v表示目录映射,实现了数据持久化
# -p端口映射,将docker的端口和主机的端口映射

应用:

1、浏览器输入主机ip:10.6.12.135:8000
第一次登陆需要修改密码,用户名是root

2、gitlab中重要概念:
群组group:对应一个开发团队
项目:对应一个软件项目
成员用户member:对应用的账户,可以将用户加入到组或者项目中去

3、使用:

创建一个名为sda的组,类型为公开

在这里插入图片描述
在这里插入图片描述

使用管理员,创建一个名为jason的用户,创建的时候不能设置密码
创建完毕之后修改用户信息可以修改密码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建一个名为mypro的项目,类型为公开
创建完毕之后,会有一系列提示信息
根据这些信息可以在主机上构造自己的git然后和gitlab仓库关联起来

在这里插入图片描述
在这里插入图片描述

将用户sda添加到项目中,角色为主程序员

在这里插入图片描述
在这里插入图片描述

4、git命令补充说明:
git pull	#同步文件
git tag	#查看当前的标记
git tag 1.0	#当前的标记设置为1.0

git remote add origin http://gitlib/sda/mypro.git
需要变成
git remote add origin http://10.6.12.135:8000/sda/mypro.git
# 是为了将本地仓库和gitlab仓库进行关联,注意这里的端口是8000,如果不写则是80会出错
# 之后只需要执行 git add .	git tag 2.0		git commit -m "描述"
# git push		gitpush --tags 就可以了,不在需要指明gitlab的地址了


git clone http://10.6.12.135/sda/mypro.git
# 克隆git仓库,直接和gitlab关联


5、使用ssh免密上传:
默认使用的是http的方式进行上传和下载的
git提供了三种访问方式,hhtp,ssh,git
这里使用ssh实现免密上传
右上角个人信息-->左侧导航栏-->ssh秘钥
对应区域内填写ssh-keygen生成的公钥

在这里插入图片描述

	之后执行:
	git remote add origin git@10.6.12.135:sda/mypro.git	#关联仓库

二、jenkins:(使用主机ip:10.6.12.136)
是一款就java开发的工具,可以监视重复工作的执行,可以用于构建和测试各种项目。方便实现CI/CD(持续集成/持续交付)。结构如下:
在这里插入图片描述
如果应用服务器直接到gitlab上下载对应的代码,还需要在每一台上进行构建,这样比较麻烦。
开发人员向gitlab上提交编写好的代码,jenkins将代码同步到本地进行构建,然后应用服务器到jenkins上下载已经构建好的程序,这样节省了构建的时间。

安装与部署:

yum -y install java-1.8.0-openjdk-devel
rpm -ivh jenkins-2.204.1-1.1.noarch.rpm	#到jenkins官网下载

systemctl start jenkins
systemctl enable jenkins
访问 http://10.6.12.136:8080

首次登录的密码存放在/var/lib/jenkins/secrets/initialAdminPassword这个文件下
首次登陆先不要安装任何插件,jenkins默认使用的是外国的镜像,因此安装比较费时

安装插件:(页面默认是英文版的,我这里安装了汉化插件)
在这里插入图片描述
在这里插入图片描述

只需要修改对应的url就可以了,这里使用的是清华提供的镜像

在这里插入图片描述
在这里插入图片描述

在这里选择两个插件 Git Parameter 和 Localization:chinese(Simplified)两个插件
然后点击直接安装。

在这里插入图片描述
在这里插入图片描述

在安装的过程中可能会出现超时等错误,导致相关插件的依赖插件无法安装
可以根据错误提示到对应的镜像中去下载对应的 .hpi 文件来进行安装。

CI/CD流程:

1、gitlab仓库配置
创建一个名为website的项目,类型为公开
添加用户成为项目的主程序员

2、程序员开发程序,并且提交到gitlab仓库中
mkdir website
git init website
cd website
git remote add origin http://10.6.12.135:8000/root/website.git	#将本地仓库关联到gitlab上

echo "<h1> hello jenkins 1.0 <h1/>" > index.html
git add .
git commit -m "1.0 test"
git tag 1.0
git push -u origin --all	#首次提交
git push -u origin  --tags	#首次提交

echo "<h1> hello gitlab 2.0 <h1/>" >> index.html
git add .
git commit -m "2.0test"
git tag 2.0
git push	#除了首次之外不需要再添加  -u origin了
git push --tags

在这里插入图片描述

3、配置jenkins:
	新建一个任务

在这里插入图片描述

输入任务名为website,这里选择自由风格

在这里插入图片描述

添加git parameter参数,这里的Name相当于一个变量,代表版本
Parameter Type相当于这个变量的类型,是分支/标记(branch/tag)

在这里插入图片描述
在这里插入图片描述

源码管理,使用git的方式,这里使用的$webversion就是上面的Name定义的变量
代表了版本号,或者是分支

在这里插入图片描述
在这里插入图片描述

4、构建:
	构建就是相当于将代码下载到jenkins本地然后进行操作的过程
	jenkins默认将文件下载到了/var/lib/jenkins/workspace
	
	过程:
	a.将软件所在文件夹拷贝到/var/www/html/deploy/pkgs目录下,通过http让应用服务器下载
	b.删除软件文件夹下的.git目录
	c.将软件打包,方便下载
	d.删除原有的软件目录
	e.计算tar包的md5值并且保存到/var/www/html/deploy/pkgs目录下,用于校验
	f.生成/var/www/html/deploy/{last_ver, live_ver}两个文件,last_ver记录上一个版本的版本号,live_ver记录当前版本的版本号

yum -y install httpd
systemctl start httpd
systemctl enable httpd

在这里插入图片描述

以下的脚本就是上述的构建过程

在这里插入图片描述

	deploy_dir=/var/www/html/deploy/pkgs
	cp -r website-$webversion $deploy_dir		# $webversion就是上面定义的变量
	cd $deploy_dir
	rm -fr website-$webversion/.git
	tar -czf website-$webversion.tar.gz website-$webversion
	rm -fr website-$webversion
	md5sum website-$webversion.tar.gz | awk '{print $1}' > website-$webversion.tar.gz.md5
	cd ..
	[ -f live_ver ] && cat live_ver > last_ver
	echo $webversion > live_ver

配置构建之后:

在这里插入图片描述

在git上提交的版本都在这里

在这里插入图片描述

构建完毕之后按钮变成蓝色

在这里插入图片描述

构建完毕之后jenkins服务器上的/var/www/html/deploy/pkgs中有对应的文件

写总结的第七十七天!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值