自动识别和切换开发环境测试环境生产环境Python代码模板

Posted 小基基o_O

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动识别和切换开发环境测试环境生产环境Python代码模板相关的知识,希望对你有一定的参考价值。

1、概述

  • 软件开发 项目部署环境 通常分为:开发环境、测试环境、生产环境
    部署阶段:开发环境=>测试环境=>生产环境

  • 开发环境(development environment)
    通常就是开发人员自己的办公电脑,开发人员在此进行软件开发和软件测试

  • 测试环境(testing environment)
    为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称
    通常是 把生产环境克隆一份 部署到公司局域网服务器,测试工程师和开发工程师在此进行软件测试
    生产数据 同步到 测试环境 时,要做脱敏处理

  • 生产环境(production environment)
    正式提供对外服务的

2、基础代码

2.1、获取主机地址

from socket import gethostname, gethostbyname
hostname = gethostname()  # 获取主机名
print('hostname:', hostname)
host = gethostbyname(hostname)
print('host:', host)  # 根据主机名获取主机地址

2.2、获取操作系统类型

import platform
system = platform.system()
if system == 'Windows':
    print(system)
elif system == 'Linux':
    print(system)
else:
    print(system)

3、自动切换【开发环境、测试环境、生产环境】模板

HOST_PRODUCTION = '生产环境HOST'
HOST_TEST = '测试环境HOST'


class ConfigCommon:
    QUEUE_NAME = '队列名'
    JOB_NAME = '作业名'


class ConfigProduction(ConfigCommon):
    PARALLELISM = 2  # 并行度


class ConfigTest(ConfigCommon):
    PARALLELISM = 4


class ConfigDevelopment(ConfigCommon):
    PARALLELISM = 16


def get_host():
    from socket import gethostname, gethostbyname
    hostname = gethostname()  # 获取主机名
    print('hostname:', hostname)
    host = gethostbyname(hostname)
    print('host:', host)  # 根据主机名获取主机地址
    return host


def get_config():
    host = get_host()
    if host == HOST_PRODUCTION:
        return ConfigProduction
    elif host == HOST_TEST:
        return ConfigTest
    else:
        return ConfigDevelopment


class App:
    def __init__(self):
        config = get_config()
        self.queue_name = config.QUEUE_NAME
        self.job_name = config.JOB_NAME
        self.parallelism = config.PARALLELISM


if __name__ == '__main__':
    app = App()

以上是关于自动识别和切换开发环境测试环境生产环境Python代码模板的主要内容,如果未能解决你的问题,请参考以下文章

Python自动识别开发环境测试环境生产环境代码模板

Vue多环境配置--切换生产环境、测试环境和开发环境

python程序如何在生产和测试环境自动调用对应的配置文件

开发环境和发布环境切换以方便测试

iOS 打包自动配置环境的简易方法

CloudKit:将容器环境从开发切换到生产