伴随dstack任务的cli使构建和部署应用程序变得容易。与dstack工厂集成。

dstack-tasks的Python项目详细描述


数据包任务

dstack任务是调用任务的集合,这些调用任务包装通用工具和服务,以便于部署代码。

包装的工具:

- docker
- docker-compose
- postgresql (backup and restore)
- mysql (backup and restore)
- awscli (s3 only for now)
- git
- python
- django manage.py

这些任务设计为作为独立控制台脚本(dstack)或作为要在其中构建的任务集合运行 你的invoke和fabric2*任务。

安装

要安装,请使用pip:

pip install --pre dstack-tasks

安装后,您可以在项目目录中使用它。控制台脚本使用.env 配置自身的文件。目前,有些任务还需要环境变量才能使用。

示例用法

要查看任务列表,请使用dstack–list。要查看每个任务的帮助文本,请使用“帮助”。见下文 例如用法:

# Backs-up database
dstack postgres backup --tag local-dev

# Release new version of app and publish to S3 (requires ~/.aws/credentials to be set up
dstack release_code --upload --not-static

dstack任务还可以用作调用和fabric2任务的基本库:

pip install https://github.com/fabric/fabric/archive/v2.zip

所有任务都可以在“干”模式或特定环境中运行。要查看任务将执行什么,请在dry中运行它 模式:

dstack dry postgres backup

要给任务附加上下文,可以使用特殊的任务加载环境变量 从.env文件:

dstack e release_code

例如,这可用于指定不同的github repo等。

注释

需要注意的是,dstack任务是在invoke之上构建的控制台脚本,因此主要用于 在本地执行任务。但是,dstack任务完全支持在结构中用作库(版本2) fabfile.py。只需将所有任务从fab文件中的dstack_tasks导入,即可在远程服务器上执行 使用类似于fab-h example.com e deploy–version 1.0.0的方法。

然而,在它的核心,invoke只是包装bash命令并在服务器上执行它们。这意味着对于高级用途 可能值得在服务器上安装dstack任务,以允许用python而不是python编写复杂的任务 猛击。因此,与其在远程服务器上通过fabric 2运行ls-al并试图捕获和解析输出,不如 可以使用适当的python包获取目录中的文件列表。

已知问题

dstack任务尚未包含可用于在服务器上调用自身的通用任务。目前还有 使用fabric2设置运行时环境变量以远程运行任务时出现问题。

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

推荐PyPI第三方库


热门话题
无法在Netbeans 8.2 JDK8u231中创建java Maven项目(Web应用程序)   java如何以设定的时间间隔生成随机数?   java从socket和inputStream的慢速读取   spring SCORM:Java中基于Web的SCORM播放器   Java将函数传递给方法   java绑定通用服务及其实现和子类型   java如何在运行时从选择列表框中动态选择选项?爪哇硒   java Selenium WebDriver什么是“Selenium客户端和WebDriver语言绑定”   elasticsearch需要elasticsearch高级Java客户端更新ByQueryRequest API帮助   JAVA哈希表查找最大值   WSDL操作中的java soapAction属性为空   java访问封闭类或父类方法的一般方法   eclipse在java中运行带有SeleneTestCase的ANT。lang.NoClassDefFoundError   java Hazelcast不会在节点启动时填充ReplicatedMap   如何在Java中从excel中读取特定行?   html JAVA将本地时间(GMT+8)转换为UTC时间   java将自定义端点添加到Spring数据REST存储库中,并以大摇大摆的方式显示   java计算未来位置