PyAuto核心

pyauto.core的Python项目详细描述


任务运行工具

这是什么?

pyauto为捕获 配置和编排任务。

什么是任务?

python函数。

# deployment_tasks.py# this needs to be imported so that the config class will be registeredimportdeployment_configdefdeploy_app(config,app_name):# implement deployment hereprint('deploying {0}...'.format(app_name))app=config.apps.get_tag(app_name)print(app)

它是如何配置的?

yaml+python类。

# config.yml
task_modules:
- deployment_tasks
apps:
- id: my_app
  name: My Application
  source_dir: ./my_app
tasks:
  deploy_my_app:
  - deploy_app,my_app
# deployment_config.pyfrompyautoimportconfigimportosclassApp(config.Config):defget_source_dir(self):returnos.path.abspath(self.source_dir)config.set_config_class('apps',App.wrap)

怎么用的?

作为一个cli工具。

运行任务
$ python -m pyauto.deploy -c config.yml deploy,my_app

输出

----- deployment_tasks.deploy_app ( my_app  ) -----
deploying my_app...
OrderedDict([('id', 'my_app'), ('name', 'My Application'), ('source_dir', './my_app')])
deploy_app,my_app = None

“,”将函数与字符串参数分隔开。全部任务 函数必须只接受字符串参数。

运行一系列任务
$ python -m pyauto.deploy -c config.yml deploy_my_app

输出

----- deployment_tasks.deploy_app ( my_app  ) -----
deploying my_app...
OrderedDict([('id', 'my_app'), ('name', 'My Application'), ('source_dir', './my_app')])
deploy_app,my_app = None

输出的第1行指示调用的函数,其中包含参数 传递给它。输出的第2-3行表示 函数执行输出的最后一行指示1) 原始函数调用字符串和2)的返回值 功能。

如果要抑制第1行和最后一行的输出,可以通过 -q选项让pyauto省略这些行。

任务序列deploy_my_app从^{tt3}中查找$ 配置的部分。任务序列可以列出尽可能多的任务或任务 按需顺序。每次任务执行时 调用序列。

干运行一系列任务
$ python -m pyauto.deploy -c config.yml deploy_my_app -i

输出

deploy_my_app (  )
    deployment_tasks.deploy_app ( my_app )

这显示将运行的任务序列。这是一件小事 例如,但也可以从任务中调用其他任务序列 序列,这可能导致任务的复杂顺序。此功能 允许您检查给定任务序列将在您之前执行的操作 执行它。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java TCP服务器未关闭电脑   在XML中定义“数字”时,java“imeOptions”不起作用   没有持久性的java Multiple entityManagerFactory。xml   java Netbeans使用Tomcat连接进行调试被拒绝   java二进制搜索已排序的E列表(开始时间,结束时间),以查找给定时间范围(t1,t2)匹配的所有E   python Jython等价于Java代码   java如何在Ninjaframework中的ConstraintValidator中使用依赖项注入?   Java扫描器类在C中做什么#   java同时支持公共接口API和内部具体API?   java如何使<T extends E>泛型类型参数包含在内?   java添加按钮在array或db中单击或点击以在安卓中重复相同的操作   xml解析Java:如何防止EntityResolver#resolveEntity(String publicId,String systemId)中的“systemId”被绝对化到当前工作目录   jakarta ee在Java中实现OAuth协议   JavaSpringMVC抛出了404,带有普通请求映射   java如何实现hibernate二级缓存上的查询与连接?   spring发生JNI错误,线程“main”java中出现异常。lang.NoClassDefFoundError:org/springframework/context/ApplicationContext   java为什么在此GraphQL设置中不调用DataFetcher?   java忽略cucumber中的特定标记,但运行所有其他标记