某公司的gitlab-ci流程搭建

1.gitlab分支功能

 

1.feature分支

即工单分支

2.develop分支

开发人员开发完成后,把feature分支合并到develop分支,也是唯一会产生合并冲突的分支

3.test分支

测试分支,合并到此分支会自动进行部署和发布,用于进行单元测试(伪)

4.release分支

test分支上的所有工单测试完成后,合并到此分支,在本地对此分支执行git代码导出差异文件

5.master分支

差异文件导出后,把release分支合并过来

 

2.gitlab分支权限

develop分支只能由maintainer进行合并和推送操作(推送操作建议只用于修改ci文件,代码bug还是切出一个bug分支进行修改)

test,release,master分支只能由maintainer进行合并操作

 

3.自动部署原理

调用并执行gitlab-ci.yml文件

A.构建阶段:

ant deploy命令:

用到build.xml文件

打war包放到target下

docker build命令用到dockerfile文件,构建镜像

#tomcat作为父镜像,在此基础上进行构建
FROM 192.168.1.30:5000/library/tomcat:8.5.38

#把镜像时区改为上海时区
RUN echo "Asia/shanghai" > /etc/timezone

#删除tomcat服务器里面的默认项目
RUN rm -rf /usr/local/tomcat/webapps

#把前台项目里的war包拷贝到tomcat服务器下
COPY target/ebpm_ep_gitlab.war /usr/local/tomcat/webapps/ebpm_ep_gitlab.war

#把springboot项目(流程还原功能)拷贝到tomcat服务器下
COPY ROOT.war /usr/local/tomcat/webapps/ROOT.war

#提前解压前台项目修改数据源
RUN unzip -o -q /usr/local/tomcat/webapps/ebpm_ep_gitlab.war -d /usr/local/tomcat/webapps/ebpm_ep_gitlab

#拷贝shell文件到tomcat服务器里面
COPY entrypoint.sh .

执行docker run命令的时候,再执行shell文件
ENTRYPOINT ["sh","./entrypoint.sh"]

把镜像推送到harbor上面

docker push ....

 

B.部署阶段

删除原本镜像

docker rm -f 容器名

运行新镜像

docker run  ..................
-e 环境变量,传入容器,给shell文件修改数据源,文件路径

-v 建立和宿主机的挂载目录

-p 容器端口和宿主机端口的映射

--name 运行的容器名

--restart always  虚拟机重启后容器自动重启

#修改容器里的host文件
#访问doc.ebpm.com.cn变为192.168.1.240
--add-host=doc.ebpm.com.cn:192.168.1.240



 

 

 

 

4.运维

查看磁盘剩余空间

df- h

查看cpu内存消耗

top

 

服务器重启后需要做的事情:

 

runner服务器

Runner服务器重启后,若gitlab上面test分支的ci显示等待中



进入/root/runner里面

cd runner

停止runner服务

docker-compose down

启动runner服务

docker-compose up -d

若报错,显示failed to setip tables

停止docker服务

docker-compose down

重启docker服务

systemctl restart docker

启动runner服务

docker-compose up -d

查看容器项目日志

进入runner虚拟机

docker ps

找到相应的前台或者后台项目容器的id

docker  logs   容器id

 

 

 

gitlab&harbor服务器

此服务器若重启

在开机5分钟后:

cd /root/harbor

docker-compose down

执行完成后

docker-compose  up -d

三分钟后即完成harbor的重启

 

gitlab账号问题:

gitlab登录账号输入错误5次,账号自动锁定10分钟,管理员可以手动提前解锁

 

 

定期手动清理harbor镜像(每周)

 

访问 192.168.1.30:5000

账号:admin

密码:pass1word

点击左侧项目,点击右侧library,对前台和后台项目的镜像按照创建时间进行清理(打钩之后删除)

 

学习资料

runner运行无tag项目

https://www.daxiblog.com/gitlab-pages%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8C%EF%BC%8C%E4%B8%80%E7%9B%B4%E5%A4%84%E4%BA%8Epending%E7%8A%B6%E6%80%81%E7%9A%84%E5%8E%9F%E5%9B%A0/

 

top命令

https://www.cnblogs.com/zhoug2020/p/6336453.html

 

git打包

https://www.zztheme.com/238.html

sourcetree内网注册

https://my.oschina.net/u/868789/blog/2208147

 

gitlab-helper垃圾镜像

https://gitlab.com/gitlab-org/gitlab-runner/issues/2704

 

 

 

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值