首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

再见Jenkins,从Gitlab代码提交到k8s服务持续交付只需七毛三

日常开发中,相信大家已经做了很多的自动化运维环境,用的最多的想必就是利用Jenkins实现代码提交到自动化测试再到自动化打包,部署全流水线 Jenkins在devops担任了很重要的角色,但是另一方面相信目前大家的代码版本管理大多都是交给git来管理,在企业私有部署的大背景下,Gitlab由于丰富的插件和细粒度更高的权限控制被大家所采用。 如果只是把Gitlab作为代码版本管理,那就大大浪费他的附加价值,在Gitlab中自带CICD功能,此功能就可完全代替Jenkins,这样一来,我们就不必维护多套系统,简化开发到运维的复杂度 实践 由于gitlab资源消耗严重,本地没有搭建,所以使用gitlab官方

03

gitlab 持续集成CI/CD

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。 看完这段话,估计还是有点懵。怎么理解呢?我是这样理解的: 软件集成是软件开发过程中的一个环节,这个环节的工作一般会包括以下流程:合并代码---->安装依赖---->编译---->测试---->发布。软件集成的工作一般会比较细碎繁琐,为了不影响开发效率,以前软件集成这个环节一般不会经常进行或者只会等到项目后期再进行。但是有些问题,如果等到后期才发现,解决问题的代价很大,有可能导致项目延期或者失败。因此,为了尽早发现软件集成错误,鼓励团队成员应该经常集成他们的工作,通常每个成员每天应该至少集成一次。这就是所说的持续集成。所以说,持续集成是一种软件开发实践。 软件集成的工作细碎繁琐,以前是由人工完成的。但是现在鼓励持续集成,那岂不是要累死人,还影响开发效率。所以,应该考虑将软件集成这个工作自动化,这就出现了所谓的持续集成系统。

01

《CI持续集成篇:》《CD(持续部署,持续交付),Jenkins》

经常的将代码发布并部署到类生产环境中测试,快速的检索问题所在,防止代码偏离,采用GitlabRunner来作为CI服务器。 1.搭建GitlabRunner的CI服务器: 1.1使用docker-compose.yml文件构建一个GitlabRunner的容器(基于Dockerfile在原生的GitlabRunner安装docker、ddocker-compose,jdk、maven)。 1.2将宿主机的Docker和GitlabRunner容器的Docker映射到一起。 1.3在GitRunner容器中执行gilab-runner register命令,绑定gitlab仓库 1.3.1仓库地址 1.3.2仓库token 1.3.3仓库描述… 2.Gitlab仓库中查看: 查看已经绑定好的Runner,修改当前Runner,设置为眉头tag标签,依旧执行 3.IDEA开发环境 编写.gitlab-ci.yml文件,指定GitlabRunner容器需要执行脚本

04
领券