首页 百科大全文章正文

桶装智慧:Bucket在项目管理中的关键作用

百科大全 2025年03月16日 11:47 35 友丝


好用的项目管理软件推荐个?

可以关注下众安科技项目管理软件,众安科技项目管理平台DevCube Team是一站式研发协作平台,通过整合业务、产品、研发、运维等角色端到端的协作过程,打通研发管理全流程与全场景,赋能敏捷、瀑布等研发管理过程的效能提升。支持自定义组件化项目模板、工作流配置、角色聚焦、敏态、稳态等多模式项目管理模式,快速响应市场变化,对需求进行全周期管理。拥有系统角色、项目角色、数据角色等角色划分,支持按团队组织结构、全局用户组和项目角色分配权限,成员有序分工保障数据安全。详情可访问众安科技官网https://www.zhongan.io/lp/devops

使用 k8s 搭建一个小巧但健全的 cicd 系统

本文将以作者的个人小项目“易导游”(e-tour)为例,介绍作者正在使用的CICD方案,实现自动更新部署、自动资源调度、日志系统、告警系统等功能。架构图如下,关键组件包括:

1 台内存为4GB的服务器运行K8s,1台内存同样为4GB的服务器作为基础设施。为了方便安装各种软件,强烈建议购买非大陆服务器,作者目前主要使用的是野草云,其网络畅通、价格实惠、性能稳定。

具体组件如下:

git仓库:GitHub私有仓库能满足开发者代码托管需求,通过GitHub action实现丰富的功能,例如在收到特定分支的push时触发镜像构建、推送、发送Webhook通知等。使用GitHub action为本项目所需。

前端托管:选择云服务商托管前端,减轻后端服务器带宽和流量压力,如Cloudflare Pages,通过git仓库的推送自动构建并更新部署网站,操作简单省心。

阿里云OSS静态网页:对于无Visa卡且重视国内访问速度与稳定性的用户,推荐使用阿里云OSS作为静态网页托管。以Vue工程为例,新建OSS bucket,设置权限为公共读私有写,上传index.html文件,通过指定域名访问。

配置GitHub action构建并推送编译产物:对于使用Vue、React等高级框架进行前端开发的项目,通过在项目目录中配置GitHub action文件,实现主分支每次收到push时自动构建并推送编译产物至OSS。

镜像仓库:个人项目镜像不宜公开存放,使用阿里云镜像仓库、Azure镜像仓库或自建镜像仓库。阿里云免费版本足够使用,海外访问可能较慢;Azure在促销时新用户可免费享受一年内各种云服务;自建镜像仓库需考虑带宽、流量与存储消耗。

K8s安装:选择轻量级K8s(k3s),推荐使用Lens可视化操作工具,易于管理。若遇到控制平面pod启动失败,调整安装命令,如指定DNS服务器,避免本地循环。

反向代理:在K8s中实现反向代理时,无需详细了解流量走向,通过声明式编程关注目标而非具体手段。实现步骤包括安装helm、cert-manager,配置ClusterIssuer资源对象跨命名空间签发证书,创建ingress资源管理域名与服务之间的路由关系。

触发pod更新:使用keel软件监控镜像更新并触发pod更新,但需手动通过Webhook触发更新。安装完整crd并配置secret名称,将keel单独安装在命名空间中,声明新的ingress,使用之前创建的ClusterIssuer,并配置policy和imagePullPolicy。

后端:根据语言和框架类型编写Dockerfile,配置GitHub action实现每次main分支push后自动构建镜像、推送镜像和更新pod。

中间件:选择阿里云RDS作为MySQL,对于Redis、ES、Loki等中间件,推荐使用云服务商提供的服务或在本地使用Docker搭建,并配置npm进行反向代理。

监控告警:使用Hertzbeat提供开箱即用的告警通知,通过飞书机器人发送告警消息,简化配置。

日志:使用Lens简单浏览线上日志,或配置Loki、Promtail、Grafana实现高级日志管理。

本文总结了作者使用的CICD系统中各个组件的介绍与搭建方法,从git仓库、前端托管到镜像仓库、K8s安装、反向代理、pod更新、后端部署、中间件使用、监控告警与日志管理,为构建一个小型但健全的CICD系统提供了详细指南。

揭秘2024年DevOps顶级工具:专家推荐清单

2024年DevOps顶级工具专家推荐清单如下

一、开发管理工具 Worktile:通用项目管理软件,特别适合研发团队使用,支持敏捷开发方法和多种项目管理方法,有助于提升团队协作效率和项目管理水平。 PingCode:专注于软件项目全生命周期管理,拥有众多知名企业客户,提供全面的项目管理功能和定制化的解决方案。

二、版本控制工具 GitHub:全球领先的代码托管和协作平台,提供强大的版本控制功能,支持团队协作和代码审查,是开发者社区的首选。 Bitbucket:代码管理平台,不仅提供版本控制功能,还支持项目管理、协作和部署,满足多样化的开发需求。 GitLab:集成化的DevOps工具,涵盖软件生命周期管理的各个方面,包括版本控制、代码审查、持续集成等,提供一站式解决方案。

三、容器管理工具 Docker:轻量级的容器化工具,简化了软件开发和部署流程,提高了开发效率和资源利用率。 Kubernetes:最受欢迎的容器编排工具,自动化部署和管理容器,支持弹性扩展和故障恢复,提升了系统的稳定性和可靠性。 Mesos:集群管理和调度工具,适用于数据中心和云环境,提供高效的资源管理和调度能力,支持大规模容器的部署和管理。

四、选择指南 考虑团队需求:在选择DevOps工具时,首先要考虑团队的具体需求,如迭代计划、协作方式、自动化水平、版本控制需求和持续集成能力等。 注重自动化和监控能力:选择具有强大自动化和性能监控能力的工具,可以提高开发效率和系统稳定性,降低运维成本。 支持敏捷/DevOps原则:确保所选工具支持敏捷开发和DevOps原则,有助于促进跨部门协作和文化转型,实现真正的DevOps转型和效率提升。

发表评论

增文号京ICP备19003863 备案号:川ICP备66666666号 Z-BlogPHP强力驱动 主题作者QQ:201825640