• 从源码编译 OpenEdge
    • Linux下编译环境配置
      • Go 开发环境安装
      • Docker 安装
        • Ubuntu
        • CentOS
        • Debian 9/Raspberry Pi 3
    • Mac下编译环境配置
      • Go 开发环境配置
      • Docker 安装
    • 源码下载
    • 源码编译
    • 程序安装
    • 程序运行
    • 程序卸载

    从源码编译 OpenEdge

    Linux下编译环境配置

    Go 开发环境安装

    前往相关下载页面完成相关二进制包下载。或使用命令,如:

    解压下载的安装包到本地用户文件夹。

    1. tar -C /usr/local -zxf go$VERSION.$OS-$ARCH.tar.gz

    其中,VERSION、OS、ARCH参数为下载包对应版本。

    导入环境变量:

    1. export PATH=$PATH:/usr/local/go/bin
    2. export GOPATH=yourpath

    或通过以下命令查看go相关环境配置:

    1. go env

    : 如已安装 Go 开发环境注意通过以下命令检查所安装 Go 语言版本,OpenEdge 要求编译使用的 Go 语言版本在 1.10.0 以上。

    1. go version

    Docker 安装

    官方提供 Dockerfile 为多阶段镜像构建,如需自行构建相关镜像,需要安装17.05 及以上版本的 Docker 来build Dockerfile。

    可通过以下命令进行安装:

    1. curl -sSL https://get.docker.com | sh

    支持平台:

    1. x86_64-centos-7
    2. x86_64-fedora-28
    3. x86_64-fedora-29
    4. x86_64-debian-jessie
    5. x86_64-debian-stretch
    6. x86_64-debian-buster
    7. x86_64-ubuntu-trusty
    8. x86_64-ubuntu-xenial
    9. x86_64-ubuntu-bionic
    10. x86_64-ubuntu-cosmic
    11. s390x-ubuntu-xenial
    12. s390x-ubuntu-bionic
    13. s390x-ubuntu-cosmic
    14. ppc64le-ubuntu-xenial
    15. ppc64le-ubuntu-bionic
    16. ppc64le-ubuntu-cosmic
    17. aarch64-ubuntu-xenial
    18. aarch64-ubuntu-bionic
    19. aarch64-ubuntu-cosmic
    20. aarch64-debian-jessie
    21. aarch64-debian-stretch
    22. aarch64-debian-buster
    23. aarch64-fedora-28
    24. aarch64-fedora-29
    25. aarch64-centos-7
    26. armv6l-raspbian-jessie
    27. armv7l-raspbian-jessie
    28. armv6l-raspbian-stretch
    29. armv7l-raspbian-stretch
    30. armv7l-debian-jessie
    31. armv7l-debian-stretch
    32. armv7l-debian-buster
    33. armv7l-ubuntu-trusty
    34. armv7l-ubuntu-xenial
    35. armv7l-ubuntu-bionic
    36. armv7l-ubuntu-cosmic

    Ubuntu

    使用命令

    1. sudo snap install docker // Ubuntu16.04 往后

    1. sudo apt install docker.io

    即可完成 Docker 安装。

    CentOS

    使用命令

    1. yum install docker

    即可完成 docker 安装。

    : Docker 安装完成后可通过一下命令查看所安装Docker版本。

    1. docker version

    Debian 9/Raspberry Pi 3

    使用以下命令完成安装:

    1. curl -sSL https://get.docker.com | sh

    更多内容请参考官方文档。

    Mac下编译环境配置

    Go 开发环境配置

    • 通过 HomeBrew 安装
    1. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" // 安装HomeBrew
    2. brew install go

    安装完成后编辑环境配置文件(例: ~/.bash_profile):

    1. export GOPATH="${HOME}/go"
    2. export GOROOT="$(brew --prefix golang)/libexec"
    3. export PATH="$PATH:${GOPATH}/bin:${GOROOT}/bin"

    完成后退出编辑,执行以下命令使环境变量生效:

    1. source yourfile

    完成后执行以下命令创建GOPATH指定目录:

    1. test -d "${GOPATH}" || mkdir "${GOPATH}"
    • 通过二进制文件安装
      前往相关下载页面完成二进制包下载。或使用命令,如:

    解压下载的安装包到本地用户文件夹。

    1. tar -C /usr/local -zxf go$VERSION.$OS-$ARCH.tar.gz

    其中,VERSION、OS、ARCH参数为下载包对应版本。

    导入环境变量:

    1. export PATH=$PATH:/usr/local/go/bin
    2. export GOPATH=yourpath

    或通过以下命令查看go相关环境配置:

    1. go env

    : 如已安装 Go 开发环境注意通过以下命令检查所安装 Go 语言版本,OpenEdge 要求编译使用的 Go 语言版本在 1.10.0 以上。

    1. go version

    Docker 安装

    前往官方页面下载所需 dmg 文件。完成后双击打开,将 Docker 拖入 Application 文件夹即可。

    Install On Mac

    安装完成后使用以下命令查看所安装版本:

    1. docker version

    源码下载

    按照对应环境完成编译环境配置后,前往OpenEdge Github下载openedge源码

    1. mkdir -p $GOPATH/src/github.com/baidu/
    2. cd $GOPATH/src/github.com/baidu/
    3. git clone https://github.com/baidu/openedge.git

    注: openedge代码目录需要存放在 $GOPATH/src/github.com/baidu/ 目录下

    源码编译

    1. cd $GOPATH/src/github.com/baidu/openedge
    2. make # 编译主程序和模块的可执行程序

    编译完成后会在根目录下生成如下四个可执行文件:

    1. openedge
    2. openedge-hub
    3. openedge-function
    4. openedge-remote-mqtt
    1. make images # 在本地生成模块镜像

    通过上述命令编译生成如下四个镜像:

    1. openedge-hub:build
    2. openedge-function:build
    3. openedge-remote-mqtt:build
    4. openedge-function-runtime-python27:build

    通过以下命令查看生成的镜像:

    1. docker images

    程序安装

    装到默认路径:/usr/local。

    1. cd $GOPATH/src/github.com/baidu/openedge
    2. make install

    指定安装路径,比如安装到output目录中。

    1. cd $GOPATH/src/github.com/baidu/openedge
    2. make PREFIX=output install

    程序运行

    如果程序已经安装到默认路径:/usr/local。

    1. openedge -w example/docker # docker容器模式
    2. openedge # native进程模式

    如果程序已经安装到了指定路径,比如安装到output目录中。

    1. cd $GOPATH/src/github.com/baidu/openedge
    2. output/bin/openedge -w example/docker # docker容器模式
    3. output/bin/openedge # native进程模式

    提示

    • docker容器模式运行,可通过 docker stats 命令查看容器运行状态。
    • 如需使用自己的镜像,需要修改应用配置中的模块和函数的 entry,指定自己的镜像。
    • 如需自定义配置,请按照 配置解读 中的内容进行相关设置。

    程序卸载

    如果是默认安装。

    1. cd $GOPATH/src/github.com/baidu/openedge
    2. make clean # 可用于清除编译生成的可执行文件
    3. make uninstall

    如果是指定了安装路径,比如安装到output目录中。

    1. cd $GOPATH/src/github.com/baidu/openedge
    2. make clean # 可用于清除编译生成的可执行文件
    3. make PREFIX=output uninstall

    最后更新于 2018-12-28 10:23:09

    原文: https://openedge.tech/docs/setup/Build-OpenEdge-from-Source