【实测】用土话让你明白如何做测试平台的持续部署和集成 - 1 【部署到服务器】

简介: 【实测】用土话让你明白如何做测试平台的持续部署和集成 - 1 【部署到服务器】

最近,有多位粉丝和同学反应,想让我讲一讲如何把测试平台部署到服务器,并且实现自动持续部署和集成测试等。


我一开始回复说,这种没什么技术含量,随便百度个教程都可以实现的东西,而且实现的方法和工具有很多很多,为什么非要我来讲呢?大家知道我个人一直更新原创,极少去搬运什么工具教程。


but人家说:因为我讲的一定明白,我经常会是从一个小白的模糊处境出发,然后用土话来讲明白,而且大家一直很信任我。


我听后很感动,于是问他想用哪个工具实现,他说百度了一个:gitlab-runner的插件,但是他看了很久教程,也看不太懂,并且总是各种报错。于是,我自己趟了一遍,的确发现很多教程的内容并不适用于实际,并且删减了很多细节大坑。


本来,这个东西,我是放在了收费培训内容里,带着大家手把手的视频演示实现。但是我觉得应该还有很多人需要这个简单的教程,所以我用公众号文章的方式再次记录一遍。


但我写的途中发现了一个问题:就是网上从来不缺实际的代码/命令 教程!缺的是让你如何理解这个过程,不理解,哪怕你照葫芦画瓢下来,也无法做到举一反三,也无法明白报错,甚至都不明白为什么要执行某句命令。


如果一个人,一旦明白了,某件事的流程和原理,那么具体的细节命令,他随便百度也秒懂了,并且会更加游刃有余,举一反三,吸收的更好。


所以我在此写下这个简单的ci/cd教程的流程原理,而非具体的实现代码,相信你读完后,会醍醐灌顶,恍然大悟,原来那些高端的操作,其实都这么接地气啊~ 。


所谓的持续自动,并不单单只对咱自己的平台实现,对公司其他的平台产品一样可以进行自动的跑自动化等脚本,而全程,并没有用到额外的第三方平台,如jenkins,所以稳定性和效率都大幅提高。


今天是第一节,让我们跟随着一个个小白疑问,来探究这个问题。


可能你第一次做测开,第一次写了一个django平台,但是在写的过程中,总隐隐觉得有个流程自己很苦恼,那就是平台完成后,要怎么部署到服务器上?


我们先想一个问题:为什么要部署到服务器上?部署到自己电脑上不行么?


答:行,当然行,前提是你自己的电脑不打算用了,以后就常开着跑平台,然后服务于全体同事,你别上去瞎操作,容易给搞坏了。

   所以,部署到公司提供的服务器上是个很好的选择,便宜,简单,更高效。


继续想问题:服务器选什么系统?


答:最好是linux,开源免费等这些官方回答我不想多说了,就直接告诉你,windows不适合当服务器,你有mac电脑也可以当服务器,linux系统的电脑则更便宜,更耐操。全公司都用,你就老实遵守吧。服务器也别太神话,就是一个正常的电脑而已,只是人为被当做服务功能而已。


继续带着问题:什么叫部署?


答:部署这个词,简单来说,就是让你的平台能在服务器上跑起来,仅此而已。但是呢?你一定总听到一些很高大上的技术,比如什么分布式,什么负载均衡,什么zookeeper,什么nginx,什么docker等等。所以很多人会被吓得直接打退堂鼓,但是我可以明确的说,这些额外的技术都属于优化,你可以不用,如果公司人不多,你又不是很想炫耀技术,那你完全可以直接把测试平台像在你本地电脑运行一样,把代码复制到服务器上,直接启动即可。只有走出了这一步,你才可能有去学习之后部署和运维的技术需求。所以,别上火,部署很简单,最关键的第一步,就是想办法把代码复制到服务器上


继续想问题:那怎么把代码复制到服务器上呢?


答:你要是不想学git,就直接手动复制,比如用scp命令,远程传送到服务器上。当然,这样也忒low了。所以我们用的可以说,全是git。那么我们接下来的事就是选择一个git工具了。


问题:选什么git工具?


很简单,gitlab,如果公司有具体要求和内部的gitlab,那你就用。如果没有,那你就自己去注册一个gitlab账户。有的同学可能听说过github,说为什么不用这个呢? 这里明确说一下,github是面向全世界开源的工具,你是想你的测试平台和你公司的敏感数据被全世界的黑客们知道么?然后你被公司开除甚至坐牢?当然,有人也一定会说,github也可以创建私有的不公开的代码仓库,那么...看下图:

image.png

据说hub现在可以免费创建私有,但是 所以,老老实实用gitlab吧,免费,高效,还可以设置仓库访问权限。

相关文章
|
1月前
|
弹性计算 监控 负载均衡
|
1月前
|
运维 Prometheus 监控
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
如何在测试环境中保持操作系统、浏览器版本和服务器配置的稳定性和一致性?
|
1月前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
27天前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
45 6
|
29天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
34 4
|
1月前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
1月前
|
安全 开发工具 Swift
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发。基础语法涵盖变量、常量、数据类型、运算符、控制流等,高级特性包括函数、闭包、类、结构体、协议和泛型。
29 2
|
1月前
|
NoSQL 容灾 MongoDB
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。
|
1月前
|
敏捷开发 Devops 测试技术
自动化测试中的持续集成与持续部署
在现代软件开发实践中,自动化测试是确保软件质量和快速迭代的关键。本文将探讨自动化测试如何与持续集成(CI)和持续部署(CD)流程相结合,以提高开发效率和软件质量。我们将分析CI/CD管道中自动化测试的最佳实践,以及如何克服实施过程中的挑战。
39 6
|
1月前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
133 1