软件开发应用生命周期中各角色关联及成果反馈迭代情况

2025-06-23
来源:万象资讯

前言

在您读完本篇,将 get 到

如果您不清楚,那么本篇就是您想要知道的

开发(测试)坏境下影响了线上版本

无论软件应用规模大小,它们都拥有自身的生命周期,开发者通常都会持续对软件应用进行更新迭代。

在传统的软件开发应用过程中,会涉及到很多人的参与

开发一款小程序或任何软件应用,道理相同,而且每个参与者的职责或权限均有差异。

产品经理、设计师、前后端开发者、运维工程师以及测试人员等,我们可以参考官方提供的一个关系图,具体如下所示。

项目团队成员各自提交个人作业,持续对整个项目进行评估与优化。

每个角色都紧密相连,不分主次,犹如同一根绳上的蚱蜢,一款能令用户兴奋的产品,离不开每个角色的齐心协力,大家齐心协力,力量集中一点,方能产生强大的力量。

整个过程,就如下图所示:

自然,在一些更为细致的传统开发过程中,可能会有运维人员的介入,然而,在众多企业中,许多后端工程师实际上也承担了运维的角色,而那些能够独立拥有运维团队的项目,往往都是规模较大的应用级项目。

在开发小程序的过程中,为了实现项目的高效管理,小程序平台为不同角色设置了相应的权限。关于具体权限的详细介绍,您可以查阅官方文档,了解小程序的协同工作方式。

为不同角色设定相应的权限至关重要,因为现实中确实存在删除数据库后逃离的情况。

在当前的小程序开发领域,有时会出现这样的情况:许多应用可能仅由一人独立完成,从设计、开发、测试到部署上线,整个过程都由同一个人独自完成。

对于那些无需处理数据存储操作、仅在小程序界面进行展示的应用,其开发环境与线上共用同一环境和数据库,实际上并无大碍,但个人并不赞同这样做。

即便功能较为有限,也应秉持着制作产品的理念去进行,而不应仅仅满足于一个演示版本。

小程序一旦发布并投入使用,外部用户便能够开始使用。然而,之后通常会有迭代更新,增加新的功能。在本地进行开发,即对正在开发的版本进行编码时,其代码往往不够稳定。

若线上版本与本地开发版本采用相同的数据库,那么在本地对数据进行添加或删除的操作,这些变更将自动反映并同步至线上的版本。

若项目涉及多位伙伴共同开发,这显然是不可取的;否则,项目秩序必将陷入混乱。

在传统软件开发过程中,为了便于产品开发、测试、运维等同事进行测试,通常会将一个产品细分为线上稳定版、预发布版、测试版以及开发版,每一版本均对应着各自特定的运行环境。

在小程序开发领域,这一规律同样适用。在云开发模式下,用户能够设立两个不同的环境。这两个环境彼此之间互不干扰,保持独立运作。

废话不多说,下面正式进入主题

如何新增一个云环境

若您在开发小程序的初期便选择了云开发方案,系统便会自动生成一个云环境。需特别注意的是,一旦该云环境被创建,其名称便无法进行修改。

点击微信开发者工具工具栏中的云开发进入云开发控制台

在成功搭建第二个环境后,这两个环境将实现完全的独立与隔离,彼此之间不会产生任何干扰。你可以为这个云环境取名为“小程序名称+”,或者“小程序名称+”,等等。然而,在命名时,建议尽量选择能够一目了然表达其含义的名字。

通常情况下,一个环境用于测试开发版本,而另一个则用于线上稳定版本的部署。

在小程序平台,实现环境之间的转换操作,需在“app.js”文件的生命周期函数中,针对“env”这一参数进行精确设定。

//app.js App({ onLaunch: function () { if (!wx.cloud) { console.error('请使用 2.2.3 或以上的基础库以使用云能力') } else { wx.cloud.init({ // env 参数说明: env参数的作用在于确定小程序在执行云开发相关操作(如wx.cloud调用)时,将默认访问哪个云环境的资源。 请输入相应的环境标识码,您可以通过访问云控制台来获取该标识码。 // 如不填则使用默认环境(第一个创建的环境) env: '云坏境的ID', // 想要请求切换哪个云环境,就用哪个的 traceUser: true, }) } })

若您的小程序应用了云函数,并在小程序端对其进行了调用,那么在云函数的执行端,为了确保与创建时设置的环境相匹配,同样需要进行相应的调整。

// 云函数入口文件 const cloud = require('wx-server-sdk') 在云函数端,必须明确设定当前的环境参数,否则一旦环境发生切换,小程序前端的功能可能会受到影响。 // cloud.init() cloud.init({ 此处设定了cloud.DYNAMIC_CURRENT_ENV环境变量,同时亦允许用户自定义特定环境,但出于推荐,建议采用系统自动获取的方式。 })

注意

在配置环境变量时,需指定相应的常量(要求使用SDK版本1.1.0及以上),以此确保在云函数内部进行数据库操作、存储操作或调用其他云函数时,默认使用的云环境与当前云函数所处的环境相一致。

以上是在云控制台切换环境,而在小程序端,同样可以切换

在云函数目录文件夹中进行点击操作,然后对云函数文件夹执行右键操作,这样就能成功切换至云开发的环境。

从一个坏境导入数据到另一个环境

针对新近搭建的云端环境,若打算在此环境中进行测试,您会发现该环境下的数据库、存储资源以及云函数均处于空置状态。

针对云函数部分的代码,只需在小程序端再次执行上传和部署操作即可。若遇到功能异常,需检查是否是因为某些第三方库未正确安装。

在重新构建的数据库集合中,存储内容均为空白,面对这样的情况,难道我们还需手动逐一将数据填入数据库中的各个集合吗?

绝对不可能出现类似情况,在云控制台界面中,特别设置了数据导入导出的操作,导出的数据将以JSON对象格式呈现。

只需将某个环境下的数据库集合导入至另一个环境即可完成。

注意

请确定你希望测试的具体环境,随后在小程序端app.js文件中将env的标识码替换为你所需要的目标ID。

//app.js App({ onLaunch: function () { if (!wx.cloud) { console.error('请使用 2.2.3 或以上的基础库以使用云能力') } else { wx.cloud.init({ // env 参数说明: env参数的作用在于指定,在后续小程序进行云开发调用(如wx.cloud操作)时,默认将请求导向哪个云环境的资源。 请输入相应的环境标识码,您可以在云控制台进行查阅以获取该标识码。 // 如不填则使用默认环境(第一个创建的环境) env: 'xxxx', // 小程序端填写坏境的ID traceUser: true, }) } }, })

现在的云开发已经提供了CMS 内容管理能力

结语

本文重点阐述了如何在小程序云开发中实现开发(测试)环境与生产环境的转换操作。

众多小程序的制作者可能单独一人完成,他们所使用的本地开发版本与网络上的版本实际上是相同的。

在进行多人协作的小程序开发过程中,务必设立两个不同的环境,其一为用于本地开发与测试的版本,其二则为部署在网上的稳定版本;需要注意的是,线上版本的内容是不允许随意进行修改的。

也就是说,不得使用涉及本地开发数据的增删改查操作,这些操作可能会对线上版本的稳定性产生影响。

在云开发控制台,您能够创建一个新的云环境。请注意,一旦该环境的名称被设定,便不可进行修改。在命名时,必须遵守既定的规则。最终,发布的小程序将基于这些名称中的一个作为最终版本。

了解到如何将一个环境下的数据集成功迁移至另一个环境之中。

欲了解更多资讯,敬请关注我们的微信公众号,这是一个专注于传播智慧与分享有益信息的平台。

分享