自动化运维实践:构建高效的CI/CD流程
【8月更文挑战第31天】在软件开发的海洋中,持续集成和持续交付(CI/CD)是推动现代开发实践的强大潮流。本文将带你潜入这股潮流之下,探索如何构建一个高效且灵活的自动化运维流程,以提升软件交付的速度与质量。我们将从基础工具的选择到流程设计,再到实际操作的技巧,逐步展开讨论,并结合代码示例,使理论与实践紧密结合。
非云原生应用,持续部署的两种方案选择
在非云原生的持续部署方面,目前主要有两种持续部署的方案,一种是由客户端主导的持续部署,一种是以jenkins为例子,使用jenkins在服务端部署jenkins服务和各种制品库和依赖组件,做持续部署。
那么为什么要做持续部署呢?比如,我们有好几个服务,假如需要经常发布,上云的时候没有持续部署流水线的话,每次都需要使用sftp工具上传到跳板机,再由跳板机部署到好几台服务器,操作太麻烦,太容易出错。
Jenkins 配置GitLab插件和Git插件
1 安装插件
浏览器登录Jenkins Web UI,点击系统管理,再点击管理插件,切换到可选插件,分别搜索GitLab Plugin和Git Plugin,然后点击直接安装:
如果在可选插件里没有搜到,可能默认已经安装了,可以在已安装里查询。
解决Sonarqube quality gate获取不到Sonarqube正确扫描结果的问题
在Jenkins pipeline中,一般都会用到Sonar-scanner来扫描代码,扫描完之后,把结果上传到SonarQube中,SonarQube把结果与质量阀进行对比,然后通过Sonarqube quality gate来判断这次扫描结果是成功还是失败。
不少同学都遇到过Sonarqube quality gate 获得的最后结果不正确,明明SonarQube中的结果是success,而Sonarqube quality gate判断的结果是pending。
这是怎么一回事呢?
测试流程--测试发版规范
为了保证系统稳定性,对软件项目的上线过程进行规范,确保项目符合产品需求。对于已经开发完毕的系统,需要正式部署到生产环境前必须严格按照以下流程规范实施。
规范发版的流程,指定发版的相关输出,相关信息的收集,并通知相关业务方了解发版信息。防止或减少因发版造成的系统抖动对业务产生的影 响,并有利于追溯发版过程,方便后续优化迭代。