运维想要少加班,CICD工具必须用起来,理论上持续集成和部署做到完全的自动化后,项目发布就不需要运维参与了,我在上家公司就是开发和测试晚上加班发版,我到点直接下班,聊一下用过的几个CICD工具。 - 1⃣Jenkins 一个开源的老牌工具了,Java编写的,对服务器资源要求高响应却很慢,需要安装各种插件,公司项目转向云原生后都会舍弃Jenkins - 2⃣GitHub Actions Marketplace里面可以找到各种大神分享的脚本来解决你构建和部署中遇到的问题,也可以上传自己写的脚本。但是在国内必须要用梯子,不然会很卡,而且如果公司服务器在国内的话,构建和部署的速度也会受到很大影响。 - 3⃣GitLab CI 相比GitHub Actions可直接使用的脚本或插件少的可怜,都是直接在CI文件里面跑命令来实现,因为内置了git,速度会比Jenkins快一些,和代码管理一体化配置也比较简单,可以结合kaniko工具直接在容器内构建镜像。 - 4⃣阿里云效 UI界面做的不错,基本点点点就能配置好,插件很全,像Maven不同版本编译Java项目,我在其他平台经常会因为版本问题编译报错,云效就不会,但是云效的权限管理有点繁琐,工作流很多都固定了,不够灵活。 - 5⃣腾讯Coding 用过最差劲的构建平台,UI界面选择的工作流无法正确的转为脚本,还得自己切换脚本模式去改,而且平台还有很多bug,部署到阿里云的k8s经常无故报错,然后推荐我用腾讯的k8s集群,不知道是不是故意的。 - 其他还有很多CICD工具: AWS CodePipeline Bitbucket Pipelines CircleCI Travis CI CodeShip Tekton Argo Workflows 不过这些我都没实际用过,有用过的可以分享下使用体验。 #运维 #CICD #摸鱼日常 #程序员职业生活大赏