【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】搭建基于Linux的Docker开发环境

2021-1-23 10:07:06  170 鸿蒙系统 HarmonyOS WiFi IoT
分享
0
本帖最后由 枫雪天 于 2021-1-23 11:38 编辑

        工欲善其事,必先利其器。在正式开始开发之前,我们先学习开发环境的搭建。
由于目前仍在早期,Harmony OS的开发环境需要依赖Linux的编译环境,相对于一些只需要在Windows上安装一个IDE的环境略复杂,但是对于绝大部分开发者来说,门槛还是相对比较低的。并且官方考虑到初学者安装环境的不便,发布了包含开发环境的Docker安装包和虚拟机镜像,使得环境的搭建更为方便。
          由于在论坛看到的大部分开发者使用的环境都是在Windows上安装Docker或虚拟机,这样的好处是方便,只在一台电脑上就可以完成开发,但同时也有一些不足,无论是Docker还是虚拟机,只要在Windows系统上运行Linux,本质上都是需要在底层进行虚拟化的,这样会带来Linux系统性能的下降。因此,对于手上已经有Linux物理机或服务器资源的开发者来说,不妨直接在Linux物理机或者服务器上安装Docker环境,以获得更快的编译速度。
          接下来,我会详细列出在Linux上搭建Docker开发环境的步骤,使用的基础环境为Ubuntu 16.04。
第一部分,在Linux上安装Docker。

1. 添加 Docker 的官方 GPG 密钥
  1. curl -fsSL <!--StartFragment--><!--EndFragment-->
  2. https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
复制代码
2. 设置Docker仓库源
  1. sudo add-apt-repository \
  2.        "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/ \
  3.       $(lsb_release -cs) \
  4.       stable"
复制代码
3. 使用apt-get安装Docker
  1. sudo apt-get install docker-ce docker-ce-cli containerd.io
复制代码
第二部分,拉取并启动Docker仓库
          经过以上步骤,Linux系统就可以使用Docker了,接下来,我们为开发环境设置目录
1. 创建Docker路径,我使用的路径是/home/matrix/Codes/OHOS/code
2. 拉取官方仓库并启动Docker
  1. sudo docker run --env BOARD=wifiiot -it --name hm_build -v "/home/matrix/Codes/OHOS/code:/mnt" walker2048/hm_build:slim_iot
复制代码
这段命令比较长,我们分解一下
sudo docker run:以管理员身份启动Docker仓库
--env BOARD=wifiiot: 传入环境变量BOARD=wifiiot
-it:以交互模式运行,并打开一个tty终端
--name hm_build:仓库名
-v "/home/matrix/Codes/OHOS/code:/mnt":指定运行路径
walker2048/hm_build:slim_iot:仓库名和标签

创建镜像.PNG
第三部分,在Docker仓库内完善编译环境
          由于当前提供的docker仓库内只提供了Python和Scons,所以在第一次进入docker时,会显示如下输出。
待配置.PNG
          所以仍需要我们继续安装剩余的工具,好在官方已经提供了默认的安装脚本,只需要执行setupEnv,就可以自动安装其他的工具。
          当其他工具安装完成后,再次使用checkEnv命令检查开发环境,安装正常情况下会有如下输出。
已配置.PNG
          我们在buildtools目录下使用命令hmBuildStart执行首次编译,经过一段时间的编译后,会输出成功信息。
编译成功.JPG
          至此,基于Linux的Docker开发环境就全部搭建完成了。


张未羊 2021-1-29 18:23:09
学习一下,感谢分享
回复

举报

评论

您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发文章

最新文章