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

「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战」。

聊天镇楼

图片

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

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

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也可以创建私有的不公开的代码仓库,那么...看下图:

图片

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

分类:
开发工具
标签: