【实测】用土话让你明白如何做测试平台的持续部署和集成 - 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吧,免费,高效,还可以设置仓库访问权限。

相关文章
|
7天前
|
人工智能 分布式计算 DataWorks
首批!阿里云 MaxCompute 完成中国信通院数据智能平台专项测试
2024年5月31日,在中国信通院组织的首批数据智能平台专项测试中,阿里云数据智能平台解决方案(MaxCompute、DataWorks、PAI)顺利完成测试。
73 5
首批!阿里云 MaxCompute 完成中国信通院数据智能平台专项测试
|
5天前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
【6月更文挑战第23天】Java Web开发中,Servlet和JSP是构建动态Web应用的基础。Servlet处理逻辑,JSP专注展示。示例展示了Servlet如何通过`request.setAttribute`传递数据给JSP渲染。JSP自定义标签提升页面功能,如创建`WelcomeTag`显示欢迎消息。Servlet过滤器,如`CacheControlFilter`,用于预处理数据或调整响应头。这些集成和扩展技术增强了应用效率、安全性和可维护性,是Java服务器端开发的关键。
|
4天前
|
运维 Java 测试技术
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
9 3
|
3天前
|
NoSQL Redis 数据安全/隐私保护
连接测试服务器redis
连接测试服务器redis
14 1
|
17天前
|
机器学习/深度学习 人工智能 网络安全
人工智能平台PAI产品使用合集之在本地可以成功进入模型流,但在服务器上无法进入,是什么原因
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
23天前
|
安全 jenkins Java
Java一分钟之-Jenkins持续集成服务器
【6月更文挑战第5天】Jenkins是Java开发中的关键工具,用于自动化构建、测试和部署,确保CI/CD。本文概述了Jenkins常见问题及解决方案:安装时注意依赖和网络;谨慎选择并更新插件;正确配置SCM触发器;使用Declarative Pipeline定义清晰的Jenkinsfile;集成JaCoCo和SonarQube确保质量;采用蓝绿部署等策略避免直接在生产环境部署未经验证的代码。理解并解决这些问题能提升Jenkins的效率和可靠性。
33 3
|
21天前
|
消息中间件 Kubernetes Kafka
AutoMQ 自动化持续测试平台技术内幕
Marathon 是一个针对流系统 AutoMQ 的自动化持续测试平台,旨在在模拟生产环境和各种故障场景中验证 SLA 的可靠性。设计原则包括易拓展、可观测和低成本。平台采用分布式架构,Controller 负责资源管理和任务编排,动态调整 Worker 数量和配置,而 Worker 是无状态的,用于生成负载和上报数据。系统基于 K8S,利用服务发现、事件总线和 Spot 实例降低成本并提高弹性。测试场景以代码形式描述,支持不同流量模型和断言,提供丰富的可观测性和告警功能。未来,Marathon 有望泛化为适用于各种分布式系统的测试平台。
24 0
AutoMQ 自动化持续测试平台技术内幕
|
10天前
|
弹性计算 运维 安全
云服务器 ECS产品使用问题之是否可以搭建ERP平台
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
15天前
|
Linux Shell 测试技术
Linux服务器测试脚本集合
LemonBench是iLemonrain创作的Linux服务器性能测试工具,能一键检测系统信息、网络、CPU、内存和硬盘性能。
14 0
|
17天前
|
数据采集 弹性计算 DataWorks
DataWorks产品使用合集之对于ECS数据源的数据集成,是否需要使用独享调度资源和独享集成资源
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
428 0