具体细节如下:
测试通过 docker 进行(普通 war 启动症状一样),启动脚本如下:
docker run --rm --name jenkins -p 18080:8080 jenkins/jenkins:jdk21
启动后,默认安装推荐插件,进入系统后随便新建一个 job,此时,脚本内不填入任何内容,可以提交成功 https://imgur.com/nL4JXea
但是如果我填入一个内容,点击应用就会报错,被浏览器拦截,并且控制台竟然报跨域 https://imgur.com/An6lnSS https://imgur.com/undefined
在网上搜了 2 天没找到解决方法,要崩溃了 (ps, 忽略截图中的版本,我是从最新版往下试的)
]]>LiteOps 是一个实用型的 CI/CD 平台。它并非追求大而全的 DevOps 解决方案,而是聚焦于团队日常工作中真正需要的自动化构建、和部署功能,帮助开发团队提高效率,减少重复性工作。
LiteOps 的核心特点是"实用、贴合需求、易于使用":
目前项目开发人员只有我一人,会存在比较多的问题没有关注到。虽然核心功能已经初步实现,但仍有许多需求和功能有待完善,后续会根据自己使用的过程中遇到的问题以及想到的新需求慢慢完善,使这个项目能够更好地用于实际开发场景。
如果对 LiteOps 有任何建议、问题或需求,欢迎通过以下方式联系我:
这应该是当今中小公司的主流需求吧
]]>Terraform
使用起来也没遇到什么问题。 最近CDN
要多云,所以Terraform
里就把腾讯云也接进来了, 目前就接了 10 几个CDN
域名,再加上关连的证书,配置资源什么的,总的资源应该不超过 50 , 每次terraform plan
后再terraform apply
就会提示接口频率超限,根据错误提示知道当前的频率限制是 20 次/60s ,虽然可以通过-parallelism
控制并发,或者指定资源,但是变更也变慢了。
于是后台开工单,希望能给提升下限制阈值, 自认为已经说的够清楚了,还在一直问我啥使用场景,每分种 20 次已经不少了,能不能通过批量操作的方式。该问的也问了,该说的也都说了,就是不给提升,心累。
Terraform
每次更新本来就要全量获取当前配置来构建变更计划,现在这个频率还咋玩,想问问朋友们也是这种情况吗?
*.example.com
, 但是我使用 edge 浏览器访问 example.com 死活报不安全,也没有锁图标显示,但是看证书信息签发都正常的,日期也是正常的,我换个浏览器访问主域名,可以正常显示,不提示不安全,访问相应的二级域名:a.example.com
也没有问题,我就奇了怪了,edge 为啥不行,cookie 和缓存都清了,隐身模式也不行,是非要在签发时输入主域名和泛域名才行吗?望知道的大佬指点下,再次谢过。 ]]>cmdb 作为自动化运维的基石,它的很重要的一个价值就是“数据”,通过基本的数据支撑,为其他业务系统提供底层数据,比如监控,任务管理等等。
但是我觉得比较麻烦的一个点就是维护这个数据的准确性以及数据之间关系的准确性,目前我能想到的有几个约束点
除了这几种,各位大佬还有其他的好的手段可以保证数据更新的及时性和准确性么。因为 cmdb 不准,就意味着依赖它的很多系统数据可能都不是准确的。
]]>用 Docker Compose 启动了一下, 每次发现改点代码都要手动把文件传上去构建镜像, 老麻烦了.
一看阿里云容器镜像服务, 收费还很贵, 不适合我.
谢谢了.
]]>事情是这样的,我们有一个项目,用的是云 Redis
,一个 6.0
的主备环境。
大致的架构是 应用: 192.168.2.8
--> Redis 代理:192.168.2.10
(这个是平台提供给我们的负载均衡地址) ---> Redis 实际节点: 192.168.50.11
(这个是我们在平台不可见的地址), 这个有点像Redis
主从是通过docker
的方式部署的, 而平台提供给我们的是部署Redis
主从的物理机的IP
然后这个问题就出现在 INFO REPLICATION
这个命令上,这个命令在读取主从信息时候,他直接返回的是 Redis
实际部署的节点的IP
, 也就是192.168.50.11
, 所以应用在调用时候,会直接用 192.168.50.11
, 而不是 192.168.2.10
, 这样就会导致 应用和Redis
不在同一网络下,从而出现无法访问的问题。
目前我们采用的解决方案是研发这边重写了相关代码,自己去适应这种,而我想的是是否可以通过调整Redis
架构来解决这个问题, 云平台肯定是无法变动,但是我如果自建的时候,该如何解决呢。我开始想通过代理Pridixy
来解决这个问题,但不知道是不是配置不对,也没有解决,不知道还有没有其他的方案。
之前挑来挑去,最后还是自己写了 k8s manifest ,没整太多花里胡哨的,但是费时间...
]]>terraform 就是将实际的云资源状态和定义的云资源状态 保持一致性
terraform 会将所有自己所管理的资源放在 terraform.state 文件里(或者其它 backend )
不在 state 文件里的资源就不在 terraform 管理的 scope
terraform plan 和 apply 会将定义的文件和 state 文件里的差异体现出来,也就是 state 文件会参照定义的 tf 文件对实际的云资源做变更
terraform destroy 只会删除 state 文件里的云资源,如果你不想让一个云资源被删除使用如下命令 terraform state rm ...
如果一个云资源真实存在,但是 state 文件没有,tf 文件里面定义了,那么执行terraform apply
会创建这个资源,但是会报错,会提示你使用terraform import
导入已经存在的资源
总结就是,terraform 工作流程首先对比 tf 文件和 state 文件,state 文件表示现在的云资源的状态,然后对标 tf 文件对实际云资源进行增删改,完事儿之后把状态更新到 state 文件里
]]>如何在项目(微服务)的快速迭代开发(两周一迭代)的情况下,保证私有化部署的稳定性?
项目在快速迭代的情况下,可能两周前的部署配置,在两周后就不适用了
开发时只考虑了企业版的场景,没有考虑私有化部署的场景,一旦私有化部署之后发现没法用,又需要改代码
部署时弄错了某些配置(私有化部署的时候,某个配置应该是要变一下... 云云)
有的企业会将系统做成镜像,到时候直接拷贝到机器里面,但是两周的迭代太快了,这种方法感觉不太现实....
]]>三个章节
的篇幅中不同程度描述在 Google 他们是如何 on-call 的。 Google SRE 实践中,有一个广为人知的理念:减少琐事
,用软件工程的方式解决运维问题。具体到实际操作层面,Google SRE 设定了一个重要的、公开的目标:保持每个 SRE 的工作时间中琐事比例低于 50%
,SRE 至少花 50% 的时间在工程项目上,以减少未来的琐事或为服务增加新功能。
Google SRE 团队认为,琐事过多,会产生以下不利的后果:
- 职业停滞:如果花在工程项目上的时间太少,你的职业发展会变慢,甚至停滞。Google 确实会奖励做那些脏活累活的人,但是仅仅是该工作是不可避免,并有巨大的正面影响的时候才会这样做。没有人可以通过不停地做脏活累活满足自己的职业发展。
- 士气低落:每个人对自己可以承担的琐事限度有所不同,但是一定有个限度。过多的琐事会导致过度劳累、厌倦和不满。
- 造成误解:我们努力确保每个 SRE 以及每个与 SRE 一起工作的人都理解 SRE 是一个工程组织。如果个人或者团队过度参与琐事,会破坏这种角色,造成误解。
- 进展缓慢:琐事过多会导致团队生产力下降。如果 SRE 团队忙于为手工操作和导出数据救火,新功能的发布就会变慢。
- 开创先河:如果 SRE 过于愿意承担琐事,研发同事就更倾向于加入更多的琐事,有时候甚至将本来应该由研发团队承担的运维工作转给 SRE 来承担。其他团队也会开始指望 SRE 接受这样的工作,这显然是不好的。
- 促进摩擦产生:即使你个人对琐事没有怨言,你现在的或未来的队友可能会很不开心。如果团队中引入了太多的琐事,其实就是在鼓励团队里最好的工程师开始寻找其他地方提供的更有价值的工作。
- 违反承诺:那些为了项目工程工作而新入职的员工,以及转入 SRE 的老员工会有被欺骗的感觉,这非常不利于公司的士气。
根据统计数据显示,琐事的第一大来源是中断性工作
,另一个主要来源是on-call
。前者大多为与服务相关的非紧急事务,后者则为紧急的应急事务。在 Google ,一个 SRE 团队至少要保持6~8 人
的规模,才能保证因 on-call 轮值产生的琐事低于 30%。
管中窥豹,Google SRE 的工作方式,不是谁都有条件学,也不是谁都可以学的来的。需要从文化
机制
工具
层面综合考虑,以国内的运维现状来看,这是有一些实际困难和阻力的。
首先,在文化层面,Google SRE 倡导以人为本
,关注人的发展
,着眼长期结果
。在国内加班文化盛行,996 甚嚣尘上。具体到 IT 运维领域,表现为:
技术人员工作和生活很难平衡
,上班与下班没有明确界限,最终变成了只有值班,没有轮换,7x24 小时响应。工作规划以短期目标驱动
,缺乏长期主义,导致技术人员每天忙于“战术性”的工作,琐事缠身,而无暇通过软件工程的手段一劳永逸的解决长期问题,久而久之堆积为技术债务
。35 岁 IT 打工人困境
较为普遍。归根结底,是人的发展,没有得到足够的重视,由于不断的有大量新人进入到 IT 行业,使得很多企业选择了不断“汰换人”而非“发展人”这样的路线,自然也就无从谈起“费力减少琐事”了。其次,在机制层面,Google SRE 明确执行“琐事不能超过 50%”的机制,确保一个独立的 SRE team 最少保持 6 人的规模,以支撑轮换 on-call ,同时给予工作时间之外的 on-call 工作以额外的补贴。
在国内这个操作难度很大,国内的大多数企业,SRE 人数
vs 研发总人数
的比例普遍接近 1:100 ,要保持 6 人的 SRE team ,几乎是不可能的。
最后,在工具层面,Google SRE 内部使用的 on-call 工具为 Outalator 。在 Outalator 中,SRE 们在一个集中的平台上,管理着告警的全生命周期过程,具体的来讲,功能包括:
告警聚合:将多个告警信息“聚合”成一个单独的故障,SRE 以“故障”为维度来跟进和处理,大大降低了告警的发送量,避免重复性工作,降低了告警中的噪音,提高处理效率,以及减少工作失误。
加标签:给不同的故障,加上标签,用来额外描述故障的信息,方便 SRE 以标签为维度来筛选、统计、分析,提高告警处理效率。
提供告警数据分析能力:从不同的维度,比如团队、个人、服务、机房等不同的维度,分析告警的数量变化趋势、告警的响应效率、处理效率,以便 SRE 能从宏观层面分析 on-call 工作的不足之处,并有针对性的加以改进。
一键生成报告和公告:Outalator 中对一线 SRE 更有用的功能是可以选择一系列故障,将它们的标题、标签和“重要的”记录信息用邮件格式发送给下一个 on-call 工程师(也可以 CC 其他人或邮件列表)。这样可以很容易地进行交接工作。Outalator 同时支持一种“报告模式”,为周期性的生产服务评审(大部分团队每周进行一次)提供帮助。
Outalator 大概长下面这样:
总结来讲,通过使用专业的 on-call 工具,可以有效的解决日常工作中运维和研发人员面临的以下困扰:
- 技术团队每天接收到大量的告警。
- 很多告警长时间无响应,长期无人问津。
- 告警与告警之间缺乏关联性,处理效率低下。
- 告警处理缺乏协同,处理过程不透明,信息难以共享,知识难以沉淀。
- 很多告警并未准确反应实际情况,无谓的消耗技术团队精力。
- 客户/用户往往先于技术团队发现故障,客户满意度持续走低。
- 无法量化的衡量应急响应的现状和效率,无法制定出改进和优化路线。
通过以上的分析,坏消息是文化和机制层面,学起来有阻力,好消息是工具层面,Google 的 on-call 工具可选项还不少。下面两款 on-call 工具推荐给大家:
]]>突然感觉,CI 过程及其配置管理依赖工具的 DSL 不太好。哪天要把 jenkins 的 CI 迁移到 github action 上,又要重写。
之前我们的部分 CI Job 的工作会有一些 python 脚本(使用 python 是因为主要开发语言是 python )来处理,而 jenkins 或者 github action 负责调用,以及传入一些环境变量、security 配置。 像这种 job ,在不同 CI 工具间切换,会比纯 jenkins pipeline 的好迁移。
如果把这种 Job 的形式进行到底,像这样:
不知道这样的方案如何? 很想知道各位的 CI 方案是什么样子的?有什么想法。
]]>难道像 Jenkins Freestyle 项目这种相对简单,适合小型项目或那些不需要复杂流程,直观的用户界面,可以通过图形界面轻松配置任务的项目的 CI/CD 工具只有 Jenkins 一个吗。
]]>虽然技术保障这个话题老套极了,但不幸的是,截止当前,技术保障仍然是一个人力密集 + 知识密集 + 资产密集同时存在的领域,大白话说,就是既要堆人,也吃经验,还靠装备,缺一不可。
- 人不够,能累死
- 人员能力和经验不足,给多少都白搭
- 服务器不够,谁来都不好使
来源:SRETalk ,https://mp.weixin.qq.com/s/-iikFtlkVxh2mqGwxVBVkw
]]>KCL 是一个 CNCF 基金会托管的基于约束的记录及函数语言并通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更简单的自动化和生态工具集成。
本栏目将会双周更新 KCL 语言社区最新动态,包括功能、官网更新和最新的社区动态等,帮助大家更好地了解 KCL 社区!
KCL 官网:https://kcl-lang.io
感谢所有贡献者过去两周 (2023 10.12 - 10.25) 的杰出工作,以下是重点合并内容概述
🔧 语言及工具链更新
以下排名不分先后
在待发布的版本中,KCL IDE 插件支持了对符号的引用跳转及重命名功能;优化了对引用语句和 union 类型的格式化输出。同时修复了语言服务虚拟文件系统相关的 bug:文件维度的变更引发会语言服务崩溃,必须重启 IDE 恢复,现已修复。
使用转到引用
或查找所有引用
:
对符号进行重命名
:
对引用语句和 union 类型的格式化:优化了引用语句与其他代码块之间的空行行为(格式化为一个空行)、union 类型的空格行为(多个类型之间格式化为以 |
间隔):
在待发布的版本中,kpm 支持与 ArtifactHub 的集成,您可以通过向kcl-lang Registry 仓库 提交 PR 的方式将您的 KCL 包发布到 ArtifactHub.
KCL 的编译命令正在持续地优化错误信息的输出,致力于提供清晰易懂的指引,帮助开发者快速定位和修复问题,编写出正确的代码。近期,KCL 对方法类型和参数方面的错误信息进行了优化,例如:明确指出了方法的参数类型不匹配的报错:
此外,还修复了属性赋值的惰性求值问题,将属性赋值的计算和约束校验延迟到配置合并完成后,避免不必要的编译报错。
为向 KCL 用户提供一致和标准化的体验,我们正在对 KCL 的命令行界面进行设计改进,以达到统一的用户工作流、相关工具和多语言 API 的无缝集成、命令行工具的可扩展性。目前完成了初步设计进入实现阶段,欢迎感兴趣的小伙伴一起讨论:https://github.com/kcl-lang/kcl/issues/756
随着加入 CNCF sandbox ,CNCF KCL Slack 频道已经开通,与 KCL 语言相关的交流将逐步迁移到新的频道,欢迎大家加入交流:
❤️ 感谢所有 KCL 用户和社区小伙伴在社区中提出的宝贵反馈与建议。预计 11 月底我们会正式发布 KCL v0.7 新版本,敬请期待!
更多其他资源请参考:
]]>我想采购优维科技的 cmdb ,原因: 1.为部门同事提供一个统一的知识库 2.结合 devops 和 jumpserver 做些自动化的工作 3.以 cmdb 为基础可以自研/外购一些服务以进一步提升服务稳定性 4.后云原生时代 rpa 监控的指标我觉得实在不够 5.我觉得 cmdb 和 rpa 可能有些功能重叠 但是核心目标完全不同
领导不懂技术 懂业务 觉得 cmdb 和 rpa 功能差不多。。。
如何说服领导?
]]>问题:netstat 命令看了下,docker 只监听了 v4 端口,没监听 v6 端口。
查到的方案:
1.https://docs.docker.com/config/daemon/ipv6/ 开启 docker 的 ipv6 ,但这踏马竟然是实验性功能??? docker 这么成熟的东西,ipv6 的支持竟然还在实验?而且他这个支持,并不是我需要的,他这个是给每个容器分配不同的 ipv6 ,外网通过容器 ip 访问。那我人在外,我踏马怎么知道容器 ip 是多少啊
2.通过 haproxy 转发一下,把 ipv6 端口流量转到 v4 端口上,增加了架构复杂度,以后维护麻烦。
因此上来问问各种运维大哥,有没有什么优雅一点的姿势啊。
@ssh 大哥(不记得你 id 了)
]]>我最近在命名这个的时候总是纠结,同时也看到各个代码仓库里面也是用法不一,感觉挺难拿捏的
]]>关于数据库改动,有 yearning 或者 bytebase 这样的工具,但是这俩工具只针对数据库的场景
]]>目前在使用 GitLab CI 做了自动构建部署流水线,应用服务使用的 helm 来管理,数据库管理的话,前段时间用了一个开源的产品,但是其开源版本没法限制普通开发者接触生产数据库,所以还是想着自己拿小工具配合搭出一套流程来。
目前主要的想法是:
新建一个独立的 sql 脚本仓库,存放所有环境(以分支区分或者以子文件夹区分)和所有服务的数据库变更脚本
开发者以 Merge Request 的形式提交改动数据库变更脚本,合并到特定分支之后通过 GitLab CI
Merge Request 的 Pipeline 立马执行一遍语法和风格检查(暂时还没找到这样的工具,各位有推荐吗)
在迭代周期内,开发者会频繁提交修改 dev 环境的数据库变更脚本,上线的时候根据 commits 来将这些变更捡取到其他环境的数据库。同时期望这套流程也能够照顾到给同步客户的私有部署环境的数据库。
目前还没做,具体细节没全想到,主要想看看有没有更好的方案
]]>stages { stage('1') { steps { } } stage('2') { steps { } } stage('3') { steps { script{ try{}catch{ // 重新回到 stage2 执行构建 } } } } } }
这样是否能做到
]]>在 Authing 身份云最新推出的高端对话播客栏目「黑客与画家」中,追光几何 CEO 吴星辉、增广智能 CEO 黄安杰、本末科技合伙人 Erin Wu 、仙工智能联合创始人叶杨笙、Dorabot DevOps 负责人袁璟旸就“DevOps 硬件实战”展开深入讨论,并由Authing 联合创始人李宇航主持。全面解读 DevOps 在硬件领域的应用场景,包括机器人、航天等领域,为 DevOps 项目落地提供实践指导。 本文根据「黑客与画家」第二期内容“DevOps 硬件实战”内容整理,仅占对话内容 1/10 , 全部内容请点击音频收听完整故事,或在小宇宙、喜马拉雅搜索播客“黑客与画家”收听。
仙工智能联合创始人叶杨笙认为:
“硬件相比软件,开发周期会比较长。软件写完后提交、编辑,就可以部署到企业了。而硬件还需要去打板、贴片、做测试,整个流程跑下来一个多月过去了。
好的制造业企业,离不开质量管理。质量管理的本质是让已经发生过的问题不要再次发生,所有的问题都要追溯验证。
好的硬件产品,是设计出来的,即在研发阶段就开始进行质量管理,而不是最后等到产品测试时再去关注产品质量。对于硬件领域 DevOps 来说,在某种程度上,也是提高质量管理效率,实现自动化运维。比如我们在购买一个 SaaS 产品时,会考虑 Authing 是否已经集成了这个产品,提高集成效率。”
增广智能 CEO 黄安杰认为:
“质量提高的过程是积累和学习的过程。工业是很难一次性把事情做对,很多时候你不踩一些坑,就永远无法做出好的产品。对于产品的测试而言,提前做验证,发现风险点并且提前测试出问题固然是最好的。但是有时候也需要抱着改善的心态,提高迭代和反应的速度来解决产品的问题。
所以对于 DevOps 而言,最好的方法是让之前发生过的事情不要再次发生,在下一次产品迭代中,将问题解决”。
追光几何 CEO 吴星辉认为:
“工业软件的发展一直在将工业环节实现前置预判。 比如更早没有仿真软件的时代,产品的验证必须要做很多物理试验,但随着仿真加工软件的普及,极大地降低了产品的研发周期与成本。在设计阶段就可以第一时间验证产品,发现问题、解决问题。在仿真加工软件之后,还会有些别的软件,比如西门子等的一些虚拟实验软件,加强了数据分析,将以往发生在生产过程中的问题前置解决,加快产品数字化进程。
现如今随着物联网日渐普及,会将设备运行参数、状态参数与环境参数等指标进行数据反馈,监测生产设备运行状态,帮助工程师根据这些反馈提前做预测,规避问题。
软件定义世界。就整个工业数字化演变过程来看,DevOps 是实现企业上云的重要路径,将会使工业质量与测试越来越数字化与软件化。
但硬件发展可能还没到这个阶段,未来是否会直接通过工业软件贯穿整个制造业产业链,实现全生命周期的虚拟化,其实这是值得思考的问题。”
Dorabot DevOps 负责人袁璟旸认为:
“可以从 DevOps 的软件定义类比。
将软件上所说的 DevOps 定义类比到硬件上就是快速迭代、快速验证,比如搭建一个有类似于 Git 的图纸管理平台,只要有人对机械图纸、电路图进行了修改、提交,那么就能触发一系列的仿真流程,用自动化的仿真测试的方式去验证一些或基础或复杂的问题,再结合一些对已知问题的回归测试用例的迭代去逐步完善硬件系统,这样就可以用最低的成本、最短的时间高效地找到问题。”
本末科技合伙人 Erin Wu 提到:
“DevOps 改造传统制造业的流程,是用敏捷开发的能力去做硬件。硬件研发主要存在两个问题: 一方面,复盘周期长:在以往,往往需要先跑一个月的开发周期,才能去发现生产过程中一些问题,复盘完成、修复问题后,又需要一个周期。
有了 DevOps 有三方面作用:
- 可以提高硬件产品开发信息流转效率,缩短上线时间;
- 可以更加准确地预测项目时间节点;
- 质量过程管理,全流程管控整个研发过程包括从硬件到图纸到产品 BOM 的各个小节点,如果出现问题,及时解决,可以保障最终产品质量。 另一方面,问题可复制性低:硬件运行的物理环境难以复现,导致硬件研发问题也难以复现或者复现成本很高。如果软件能够帮助硬件越多地记录物理环境信息,就可以帮助硬件复现问题、定位问题、并解决问题。”
Authing 联合创始人李宇航认为:
“受制于国情与经验,一些国外的 SaaS 软件应用到中国制造业有些水土不服。一些企业买了国外的 SaaS 产品,但是研发部门更相信自己的经验而不信任这些软件,导致使用率很低。”
追光几何 CEO 吴星辉表示:
“受制于研发周期、既定思维,DeveOps 硬件落地还有很长一段路要走,企业要有很大毅力和决心去踩很多坑,并且从这些坑去反思、迭代产品。
比如,软件在实际落地硬件时很多流程串不起来,但是受制于数月的开发周期和一年数千万成本,又不太可能让软件公司研发一直驻场支持,这就导致信息化部门花了大力气购买产品,但是业务部门用不起来等情况经常发生。”
仙工智能联合创始人叶杨笙表示:
“仙工采用自研低代码平台搭建逻辑是先搭建出一个平台,去解决系统中最小的问题,继而再解决其他问题,最后将复杂系统搭建出来。用了一段时间会发现系统的一些问题,然后需要不断调整,修改流程或者业务单据等,将系统不断迭代、完善以更符合业务需求。
我们是整机产品,发版后会有机器的自动编译测试运行的问题,反馈到日志分析器中去定位问题,然后将常见问题做经验总结,固化到日志分析器中。在测试完毕产品化后,卖给客户。”
增广智能 CEO 黄安杰表示:
“增广智能产品是软硬结合的,里面会有控制器,也有机械零件,通过更多传感器和产品自己导出数据的方法,通过一些白盒测试,即时反馈系统运行的问题,可以更快地通过自动化的测试,保证研发即使在不断对系统进行微调、修改,但是也不会产生过往遇到过的问题。
在每次推出新产品时,我们会根据以往测试用例去重新定义这个产品的数据运行情况,及时规避过往遇到的一些问题。”
追光几何 CEO 吴星辉表示:
“追光几何本身是家软件公司,所以会常用 teambition 、Tapd 等敏捷开发工具做项目管理,代码则使用 GitLab ,近期内部也在逐渐实践 DevOps 的构建。
在项目管理环节,我们发现软件和硬件领域其实区别没有那么大。软件开发环节的项目管理是从 PRD 、UI 设计,程序员写代码、测试到发布。硬件项目管理,机械设计、仿真,工厂加工、装配测试到发布。某种程度上,机械设计、工厂加工等环节可以类比为软件领域程序员写代码的环节,只不过更为复杂和交叉。”
Dorabot DevOps 负责人袁璟旸表示:
“Dorabot 也是一家软硬结合的公司,由于机器人所涉及到的模块众多,所以会有专门的监控工具去搜集、整理各个模块的日志,并会将发生问题的场景记录下来,用于问题修复后的回归测试。
我们的 DevOps 平台也是基于 GitLab 的,同时为了最大程度的复现问题发生的情况,我们会将测试程序跑在出现问题的同一型号的机器人设备上,通过仿真和回放之前录制的场景来进行回归测试。”
公司目前用的阿里云国内的服务器,安装的是 Windows Server 2012 ,另一台低配的备用服务器安装的 Windows Server 2019 。如果不更换操作系统,在现有的条件下,要怎么做 CI/CD ?
本地倒是有 CentOS 服务器,如果 Windows 不方便实现,那有什么办法可以在本地运行 CI/CD ,再自动更新到阿里云的 Windows 服务器上?
]]>用 wireshark 抓了包,看不懂为什么服务端就直接返回了 RST ,有大佬了解吗?如下图,左边是用手机热点连接成功的报文,右边是在公司网络下连接失败的报文。
最近想系统的学习下(或者说从零开始自己搭建一个环境+demo ),有大佬可以推荐下学习路径以及学习资料吗,感谢!!
]]>