1、前言

pscloud(odoo)是优秀的开源erp,采用微应用方式向企业客户交付业务应用功能,包含海量的经过全球客户验证的业务应用APP,且odoo基于python的底层框架也非常优秀,特别适合于敏捷开发、快速响应的企业应用软件开发场景。

有客户项目基于开源erp软件pscloud(odoo)开发,额外使用了一些第三方控件,开发环境很复杂,每次新开发小伙伴加入,安装开发环境都需要很长时间,抽空搭建了一个基于vscode的在线开发调试环境,把需要的各种包,插件都打包进去了,开发人员登陆开发环境就可以直接开发,真香。

本文记录了通过docker、docker-compose部署code-server、postgresql,搭建odoo在线开发环境的过程,综合体验很爽,适合小规模开发团队使用。

搭建的适合小团队的免费开源在线开发环境,基于 code-server实现,目前还比较粗糙,过程需要手动的地方较多,但用起来刚刚的,小伙伴说挺好用的,调试很方便,代码修改后可以立刻在线看到效果,可以邀请客户一起进行敏捷交付。后期还可以在devops路上走的更远。

安装环境:

vmware hypervision、centos 8,python 3.7

2、安装docker

# 获取阿里云yum镜像文件

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo

# 非阿里云主机需要替换地址

sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo

# 重建 yun cache

yum clean all

yum makecache

# 使用yum升级系统

yum update --nobest

#删除旧的docker

sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 安装最新版的containerd.io

dnf install https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/nightly/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

#安装Yum源管理工具

yum install -y yum-utils device-mapper-persistent-data lvm2

#安装阿里云的docker-ce源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum makecache

#安装docker-ce

yum install docker-ce docker-ce-cli

#配置docker 镜像

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <

{

"registry-mirrors": ["https://heusyzko.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

3、安装 docker-compose

curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

5、编辑Dockerfile文件

vs code的插件建议自行在官方市场下载后,放到extensions目录。

下载地址:

https://marketplace.visualstudio.com/

odoo开发环境常用插件如下:

名称

说明

python

Python extension for Visual Studio Code

Chinese (Simplified) Language Pack for Visual Studio Code

中文语言包

Odoo Code Snippets

odoo 代码提示器

GitLens

git增强插件,可以很方便看到代码的提交修改记录,还至此在代码行提示代码的变更信息

Bracket Pair Colorizer 2

括号显示不同颜色,对于js等括号多的很友好

准备odoo依赖的pip包需求文件用于pip批量安装

lib.txt,放置在Dockerfile同级的copyfiles文件夹中。

argh==0.26.2

Babel==2.3.4

beautifulsoup4==4.5.3

chardet==2.3.0

decorator==4.4.1

docopt==0.6.2

docutils==0.13.1

feedparser==5.1.3

gevent

greenlet

html2text==2016.9.19

Jinja2==2.8

libsass==0.12.3

lxml

Mako==1.0.6

MarkupSafe==0.23

mock==2.0.0

networkx==2.4

num2words==0.5.9

ofxparse==0.14

passlib==1.7.0

pathtools==0.1.2

pbr==1.10.0

phonenumbers==8.10.22

Pillow

pinyin==0.4.0

psutil==5.0.1

psycopg2==2.7.6.1

pydot

pyldap

pyparsing==2.1.10

PyPDF2==1.26.0

pyserial==3.2.1

python-dateutil==2.5.3

python-stdnum==1.5

pytz==2016.7

pyusb==1.0.0

PyYAML==3.12

qrcode==5.3

redis==3.3.11

reportlab==3.3.0

requests==2.12.4

roman==2.0.0

six

suds-jurko

urllib3

vatnumber

vobject

watchdog

Werkzeug==0.11.15

xlrd

XlsxWriter

xlwt

pylint

注:pylint用于python 代码检查,用法如下:

pylint --load-plugins=pylint_odoo -e odoolint ...

例如:

touch {ADDONS-PATH}/__init__.py

pylint --load-plugins=pylint_odoo -d all -e odoolint {ADDONS-PATH}

准备apt-get镜像源文件 sources.list

放置在Dockerfile同级的copyfiles文件夹中。

deb http://mirrors.aliyun.com/debian stable main contrib non-free

deb http://mirrors.aliyun.com/debian stable-updates main contrib non-free

准备dockerfile

FROM codercom/code-server:latest

USER root

# 更新源

RUN mkdir /copyfiles

COPY copyfiles /copyfiles

RUN cd /copyfiles \

&& cp sources.list /etc/apt \

&& apt-get update \

&& apt-get upgrade -y \

&& apt-get install -y net-tools python3 python3-pip python3-dev build-essential libssl-dev libffi-dev libxml2-dev libxslt1-dev zlib1g-dev libldap2-dev libsasl2-dev \

&& pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple \

&& pip3 config set install.trusted-host mirrors.aliyun.com \

&& pip3 install -r /copyfiles/lib.txt \

&& pip3 install --upgrade --pre pylint-odoo

WORKDIR /home/coder/project

# 容器启动code-server:指定插件目录,指定中文

ENTRYPOINT ["code-server","--locale","zh-cn","--host","0.0.0.0","--port","8080", "--user-data-dir", "/home/coder","--cert",""]

6、build 自定义docker image

docker build -t boshine/psclouder:latest --rm=true .

docker-compose up -d

# 登陆查看docker允许情况

docker exec -it pscloud bash

7、编辑docker-compose

如果团队多人一起协同开发,建议每个人部署一个code-server容器,实现环境隔离。

配合github/gitee/gitlab等代码管理服务器使用。

version: "3"

services:

pg:

image: postgres:12

ports:

- 5432:5432

environment:

- POSTGRES_DB=postgres

- POSTGRES_PASSWORD=odoo

- POSTGRES_USER=odoo

- PGDATA=/var/lib/postgresql/data/pgdata

volumes:

- /root/pg/data:/var/lib/postgresql/data/pgdata

- /root/pg/tmp:/tmp

pscloud:

container_name: psclouder

image: boshine/psclouder:latest

links:

- pg

depends_on:

- pg

ports:

- "8068:8080"

- "8069:8069"

volumes:

- "/root/pscloud:/home/"

- "/root/pscloud/root:/root"

- "/root/pscloud/tmp:/tmp"

environment:

PASSWORD: pscloud

TZ: Asia/Shanghai

restart: always

privileged: true

user: root

odoozhang:

container_name: odoozhang

image: boshine/psclouder:latest

links:

- pg

depends_on:

- pg

ports:

- "18068:8080"

- "18069:8069"

volumes:

- "/root/odoozhang:/home/"

- "/root/odoozhang/root:/root"

- "/root/odoozhang/tmp:/tmp"

environment:

PASSWORD: pscloud

TZ: Asia/Shanghai

restart: always

privileged: true

user: root

odooma:

container_name: odooma

image: boshine/psclouder:latest

links:

- pg

depends_on:

- pg

ports:

- "28068:8080"

- "28069:8069"

volumes:

- "/root/odooma:/home/"

- "/root/odooma/root:/root"

- "/root/odooma/tmp:/tmp"

environment:

PASSWORD: pscloud

TZ: Asia/Shanghai

restart: always

privileged: true

user: root

8、使用docker-compose运行coder容

docker-compose -f odoo.yml up -d

```.

python开发erp系统odoo_开源erp软件odoo在线开发环境部署实录相关推荐

  1. 开源erp软件odoo在线开发环境部署实录

    1.前言 pscloud(odoo)是优秀的开源erp,采用微应用方式向企业客户交付业务应用功能,包含海量的经过全球客户验证的业务应用APP,且odoo基于python的底层框架也非常优秀,特别适合于 ...

  2. erp框架 saas_开源ERP与SaaSERP之间的区别

    原标题:开源ERP与SaaSERP之间的区别 乍看之下,开源ERP的事实对企业来说更具吸引力.原因是开源ERP在部署之前没有前期成本.一些开源ERP系统可以安装在虚拟云端,从而节省了在硬件和基础设施上 ...

  3. 开源网盘系统推荐 - 开源云盘 - 安装及开发教程

    开源网盘系统推荐 - 开源云盘 - 安装及开发教程 云盘界面 介绍 本开源云盘致力于打造成一个优雅,好用,高效,克制的开源云盘. 在线体验 (账号demo/123456) 软件架构 本开源云盘采用前后 ...

  4. 基于android系统的单词学习软件设计与开发【附项目源码+论文说明】分享

    基于android系统的单词学习软件设计与开发演示 摘要 随着手机使用的普及,人们获取与保存信息的方式已经发生了激动人心的转变.智能手机正在逐步融入我们的生活,并影响和改变着我们的生活.由于现在各种智 ...

  5. Ubuntu:Ubuntu系统下在pycharm软件内配置anaconda环境(一张图轻松搞定!)

    Ubuntu:Ubuntu系统下在pycharm软件内配置anaconda环境(一张图轻松搞定!) 目录 Ubuntu系统下在pycharm软件内配置anaconda环境 Ubuntu系统下在pych ...

  6. 金蝶erp系统服务器端,金蝶ERP软件二次开发.doc

    金蝶ERP软件二次开发 摘要 企业要提升快速反应的能力,必须建立以信息集中.流程整合.实施控制为核心特点的快速反应体系,有效整合资源,强化基础管理.ERP软件可以帮助企业实现这些目标,但要成功地实施E ...

  7. 纺织ERP系统_纺织ERP软件_纺织面料系统

    深圳市指点科技有限公司成立于2011年6月,致力于为纺织行业提供专业纺织贸易ERP信息管理系统及一站式运营服务,助力中国纺织企业实现信息化.智能化发展,推动纺织企业智能化转型升级. 指点科技自成立以来 ...

  8. 亚马逊铺货软件无货源采集上货ERP系统店群ERP管理系统

    亚马逊铺货软件,相信各位做无货源铺货模式的卖家应该都有所了解吧,那么亚马逊采集上货软件的用途大不大?接下来就由小编来为大家解答,亚马逊ERP管理系统 ERP系统可以采集其他平台的产品,系统可以直接采集 ...

  9. 金蝶ERP服务器系统中间件,金蝶ERP_金蝶ERP软件_金蝶ERP系统_泛普软件

    ERP应用 讯通 类似企业版微信,充分利用了移动终端的移动性, 面向企业全员, 随时随地的提供职员信息的查询,并可快速实现点对点或多人的文字.语音和图片信息交流. 企业通讯录 实时获取企业组织和人员信 ...

最新文章

  1. P2114 [NOI2014]起床困难综合症
  2. linux 管道非阻塞,linux – 管道上的非阻塞读取
  3. rabbitmq-server 安装方法
  4. rm删除报错 :-bash: syntax error near unexpected token `('
  5. tab点击一个按钮切换排序_Axure8原型教程:实现Tab选项切换
  6. 苹果cms播放器html,解决苹果cmsv10版本ckplayer播放器高度自适应兼容问题
  7. ftp上传当天文件的方法_8uftp上传工具,8uftp上传工具的使用方法只需8步
  8. 单片机c语言中主程序怎么写,单片机的主程序和中断程序是怎么样运行的
  9. Python刷脸签到系统(附源码)
  10. 国产操作系统银河麒麟V10桌面版新手小白常见问题
  11. python的工具库谁写_python工具库库介绍-bidict: 双向字典
  12. 极客时间《数据分析实战45讲 - 基础篇》学习笔记
  13. 【现已失效】【转载】QQ空间一键点赞方法
  14. 深度学习框架zf_深度学习十大框架比较
  15. 素数问题与质因子分解
  16. OS学习笔记-20(清华大学慕课)死锁和进程通信
  17. 什么是网络号,主机号,主机地址,网络地址,主机地址,子网号,子网地址
  18. 我常用的两个翻译神器,程序员必备.
  19. 批处理、分时、实时操作系统的特点
  20. c语言课程设计文本编辑器实验报告6,C课程设计简易文本编辑器.doc

热门文章

  1. virtualBox下载失败或太慢
  2. 跨六服务器维护方案,1月17日 早4点跨区2、跨区5、跨区6停机维护公告 - 地下城与勇士掌游宝...
  3. 计算机无法启动硬盘损坏,如果无法打开计算机硬盘分区该怎么办? chkdsk方法修复损坏的磁盘...
  4. 华中数控机器人编程循环三次_我研究了下公司旗下的各机器人子公司的专利一直在同行业名列前茅,应该说技术不错,而_华中数控(300161)股吧_东方财富网股吧...
  5. Linux编辑文件时,提示.swp文件已存在怎么办?
  6. SEO进阶必修课:如何创建和管理高质量关键词词库
  7. 智能网联汽车-网联功能与应用(CFA)标准制定路线图
  8. 机器学习技法课程学习笔记16 -- Finale
  9. 华为初识IoT最全学习笔记
  10. 计算机操作系统 概述(题库答案)