从源码编译 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