资讯专栏INFORMATION COLUMN

odoo远程部署命令

Youngdze / 2782人阅读

摘要:前提条件在源码中可以看到,部署命令的操作是将模块文件上传在运行中的执行安装操作。从帮助上看,部署命令的使用为模块路径网站用户名密码使用示例注意点阅读源码可以发现该命令只是安装或者升级模块的文件,并不会更新已经在运行的代码。

阅读源码的cli模块发现一个远程部署模块的命令,在官方文档并没有说,发现隐藏功能!

解决的问题

在odoo里面写界面是很烦人的,每次写完需要重启服务器并且到app界面点击升级模块才能看到效果,用部署命令即可一条命令刷新界面效果。也就是热重载。当然,这个也可以用于安装新模块。

前提条件

odoo/cli/deploy.py 源码中可以看到,部署命令的操作是将模块文件上传在运行中的odoo执行安装操作。

def authenticate(self, server, login, password, db=""):
print("Authenticating on server "%s" ..." % server)

# Fixate session with a given db if any
self.session.get(server + "/web/login", params=dict(db=db))

args = dict(login=login, password=password, db=db)
res = self.session.post(server + "/base_import_module/login", args)
if res.status_code == 404:
raise Exception("The server "%s" does not have the "base_import_module" installed." % server)
elif res.status_code != 200:
raise Exception(res.text)

return res.headers.get("x-csrf-token")

查找 /base_import_module/login 路由,发现在 addons/base_import_module 模块里,因此,我们需要先在web管理界面安装该模块 base_import_module

deploy命令介绍
$ odoo deploy -h
usage: odoo deploy [-h] [--db DB] [--login LOGIN] [--password PASSWORD]
[--verify-ssl] [--force]
path [url]

Deploy a module on an Odoo instance

positional arguments:
path                 Path of the module to deploy
url                  Url of the server (default=http://localhost:8069)

optional arguments:
-h, --help           show this help message and exit
--db DB              Database to use if server does not use db-filter.
--login LOGIN        Login (default=admin)
--password PASSWORD  Password (default=admin)
--verify-ssl         Verify SSL certificate
--force              Force init even if module is already installed. (will
update `noupdate="1"` records)

odoo的命令解析都是用argparse模块,因此我们在传参的时候按照默认习惯就好。

从帮助上看,部署命令的使用为 odoo deploy 模块路径 网站url --login 用户名 --password 密码

使用示例
$ odoo deploy addons/my_module http://localhost:8888 --login account@email.com --password=this_is_password
Authenticating on server "http://localhost:8888" ...
Zipping module directory...
Uploading module file...
Successfully imported module "my_module"
注意点

阅读 base_import_module 源码可以发现该命令只是安装或者升级模块的xml文件,并不会更新已经在运行的python代码。

个人博客 原文链接

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/7871.html

相关文章

  • Centos7 安装 Odoo11

    摘要:安装安装基于稳定性考虑安装的是,而且默认的官方源中不提供的安装包,所以我们要先换一个提供的源。安装完成之后,创建一个配置文件。 Centos7 安装 Odoo11 1 安装python3.6 Centos7 基于稳定性考虑安装的是python2.7,而且默认的官方 yum 源中不提供 Python 3 的安装包,所以我们要先换一个提供python3的yum源-- IUS 。 1、IU...

    Euphoria 评论0 收藏0
  • Centos7 安装 Odoo11

    摘要:安装安装基于稳定性考虑安装的是,而且默认的官方源中不提供的安装包,所以我们要先换一个提供的源。安装完成之后,创建一个配置文件。 Centos7 安装 Odoo11 1 安装python3.6 Centos7 基于稳定性考虑安装的是python2.7,而且默认的官方 yum 源中不提供 Python 3 的安装包,所以我们要先换一个提供python3的yum源-- IUS 。 1、IU...

    wums 评论0 收藏0
  • SAP、Oracle、Odoo血拼中小企业 国内厂商何以应对?

    摘要:翻看用友和金蝶的财报,多年来最大的利润还是来自于中小企业市场的产品,而在中大型市场只见雷声未见雨下。无论是浪潮用友还是金蝶,都不要顾此失彼,在保持在中小企业市场上的传统优势,提起SAP、Oracle都被认为是中大型企业的代名词,他们一直盘据中国企业的金字塔尖,而国内的管理软件厂商长期把持着金字塔的腰部客户,多年来泾渭分明,但是在2019这样的局面将会打破,中小企业将成为管理软件厂商军阀割据的...

    hankkin 评论0 收藏0
  • 详解浪潮与Odoo联手背后 双方将带来哪些化学反应?

    摘要:近日,浪潮与一家名为的开源企业签署了合作协议,根据协议,双方将在中国成立合资公司,消息传出,立刻引起业界的高度关注。据了解,是一家欧洲中小企业软件市场知名厂商,而浪潮与联合成立的合资公司也将重点发展中小企业业务。近日,浪潮与一家名为Odoo的开源ERP企业签署了合作协议,根据协议,双方将在中国成立合资公司,消息传出,立刻引起SaaS业界的高度关注。据了解,Odoo是一家欧洲中小企业软件市场知...

    stefan 评论0 收藏0
  • Odoo 基础教程系列」第一篇——环境准备

    摘要:安装好后,在中执行查看版本信息,应该会看到输出如下信息版本号可能会不同如果提示未找到,则需要手动将用户基础目录下的添加到中。相关文章基础教程系列第篇开天坑啦 showImg(https://segmentfault.com/img/bV4GZu?w=1262&h=911); 之前说好的 「Odoo 基础教程系列」终于来了(撒花)~刚过完年重新投入到工作中,一下子事情有点多都要忙不过来了...

    szysky 评论0 收藏0

发表评论

0条评论

Youngdze

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<