一、简介 SonarQube官网 SonarQube是一个用于持续检查代码质量的静态代码分析平台。它提供了自动化的代码审查工具,帮助开发团队持续监测和改进代码的质量。SonarQube可以检测并报告多种代码质量问题,包括: 重复代码 (Duplication):找出代码中的重复部分,减少维护成本。 潜在的bug (Bugs):识别可能导致运行时错误或逻辑问题的代码模式。 代码规范 (Code Smells):检查不符合最佳实践或编码标准的代码结构。 安全性漏洞 (Security Hotspots):标识可能的安全风险点,如SQL注入或跨站脚本攻击。 缺少或过度的注释 :确保代码有适当的文档化。 设计问题 (Design):分析代码架构和设计模式,避免不良设计如“意大利面条代码”。 测试覆盖率 (Test Coverage):测量单元测试对代码的覆盖程度。 SonarQube支持多种编程语言,如Java、Python、C#、JavaScript、PHP等,并且可以集成到持续集成(CI)和持续部署(CD)流程中,确保每次代码提交都经过质量检查。 SonarQube由SonarSource.... 有更新! docker compose安装SonarQube+SonarScanner centos
一、简介 K8S简介参考官网即可 Kubernetes 文档 | Kubernetes (p2hp.com) 二、环境搭建 准备两台2核4GB虚拟机 2.1 KuboardSpray 使用Kuboard安装K8S,官方文档见使用 KuboardSpray 安装kubernetes_v1.23.1 | Kuboard 版本说明,选择安装k8s-1.19版本,因为1.20版本弃用了docker 2.2 检查环境 2.2.1 检查操作系统版本兼容 # 在 master 节点和 worker 节点都要执行 cat /etc/redhat-release 2.2.2 检查hostname # 此处 hostname 的输出将会是该机器在 Kubernetes 集群中的节点名字 # 不能使用 localhost 作为节点的名字 hostname 设置一下两台服务器的hostname 一台设置为slave3 一台设置为slave4 # 分别在两台服务器执行 hostnamectl set-hostname k8sMaster echo "127.0.0.1 $(hostname)" >&g.... 有更新! Kubernetes的安装和基础操作 DevOps
vi /etc/docker/daemon.json { "registry-mirrors": [ "https://registry.cn-hangzhou.aliyuncs.com", "https://docker.m.daocloud.io", "https://huecker.io", "https://dockerhub.timeweb.cloud", "https://noohub.ru" ] } systemctl daemon-reload systemctl restart docker 有更新! docker hub无法访问处理方法 程序人生
一、定义 1.1 简介 Jenkins 流水线(Pipeline)是一种用于实现持续集成(CI)和持续交付(CD)的工具,它允许用户以代码的形式定义整个软件构建、测试和部署的过程。流水线使用一种特定的脚本语言(Groovy)来编写,这种脚本直接在 Jenkins 服务器上运行,允许高度的定制化和灵活性。 Jenkins 流水线有两种类型: 声明式流水线(Declarative Pipeline) : 这是最常用的流水线类型,它以 YAML 样式的语法来编写,使得流水线的结构和配置更加清晰易读。在声明式流水线中,你主要描述你想要什么结果,而 Jenkins 负责如何达到那个结果。声明式流水线的语法较为简洁,易于理解。 脚本式流水线(Scripted Pipeline) : 这种类型的流水线使用 Groovy 语言编写,提供了更高的灵活性和控制力,因为你可以访问完整的 Groovy 语言功能。脚本式流水线适用于需要更复杂逻辑的情况,但同时也可能更难维护和理解。 流水线可以存储在源代码仓库中(如 Git、SVN 等),这样就实现了流水线的版本控制,这也是持续交付实践中的一个重要组成部分。这种.... jenkins流水线操作 jenkins
一、文件权限修改 修改宿主机docker.sock文件的所属用户和用户组 chown root:root /var/run/docker.sock 修改组主机docker.sock文件的操作权限 chmod o+rw /var/run/docker.sock 二、容器挂载的数据卷修改 这里以jenkins容器为实例,之前使用docker compose创建了jenkins容器,现在编辑它对应的docker-compose.yml文件 services: jenkins: image: 'jenkins/jenkins:latest' container_name: jenkins ports: - '8080:8080' - '50000:50000' volumes: - './data/:/var/jenkins_home/' - '/var/run/docker.sock:/var/run/docker.sock' - '/usr/bin/docker:/usr/bin/docker' - '/etc/docker/daemon.json:/etc/docker/daemon.... docker容器内部使用docker 程序人生
一、简介 1.1 CI和CD CI(Continuous Integration,持续集成)和CD(Continuous Delivery / Continuous Deployment,持续交付/持续部署)是现代软件开发流程中不可或缺的组成部分,它们是DevOps文化的重要实践,旨在加速软件开发周期,提高软件质量和部署效率。 1.1.1 CI - 持续集成 持续集成是一种软件开发实践,要求开发团队频繁地(每天或多次每天)将代码集成到共享的主干分支中。每次集成都会通过自动化构建(包括编译、打包和测试)来验证,以便尽早发现集成错误。CI的主要目标是: 早期发现问题 :通过自动化测试,可以迅速发现代码中的错误或冲突,减少后期修复成本。 提高代码质量 :强制执行编码标准和规范,确保代码的一致性和可维护性。 加快反馈循环 :使开发团队能够更快地得到关于代码变更的影响反馈,促进快速迭代。 1.1.2 CD - 持续交付/持续部署 持续交付和持续部署是紧密相关的概念,但它们有细微的区别: 1.1.3 持续交付(Continuous Delivery) 持续交付是一种实践,意味着代码库应该处于随时可.... 有更新! docker compose安装jenkins 程序人生