我是如何将开发环境迁移到树莓派的
我利用空闲时间开发了一款名为Solaris 的开源策略游戏,欢迎大家来看看。
软件开发的一个问题是,你需要在每台编写代码的设备上设置开发环境,而且开发环境和生产环境之间可能存在差异,这往往会导致无法预料的问题。
理想的解决方案是能够在任何设备上进行开发,无需经历冗长的设置过程,只需在我的开发机器上安装 VS Code(稍后您会看到,即使是这一步也是可选的),并将所有代码和应用程序托管在远程服务器上。在本例中,远程服务器是 Raspberry Pi。
树莓派简介
树莓派是一款非常棒的小设备,能够完成很多不同的任务,像大多数喜欢捣鼓电子产品的人一样,我也有几个树莓派闲置着。
Solaris运行在 Ubuntu Server 上,Pi 是模拟生产环境的完美选择,因为它可以在几乎相同的环境中运行相同的软件。
计划
本次练习的最终目标是搭建一个尽可能接近生产环境的开发环境:
- 安装运行 Solaris 系统所需的所有软件。
- 以开发模式运行客户端和服务端应用程序。
- 使用Visual Studio Code编辑
ssh文件和调试应用程序。
树莓派安装和设置
在树莓派上运行 Ubuntu 的设置非常简单。使用Pi imager 软件,我只需选择Ubuntu Server ,然后通过高级选项设置主机名、WiFi 和 SSH 即可。安装完成后甚至无需连接键盘和显示器,只需插入 SD 卡,启动树莓派,然后从另一台机器通过 SSH 连接即可完成剩余的设置过程。
设置 Node 和 MongoDB
Solaris 需要Node.js和MongoDB才能运行,由于它们的支持和文档都非常完善,所以运行起来很简单。
下一步是访问代码仓库,并按照README 文件git clone中的步骤进行操作:
git clone https://github.com/mike-eason/solaris.git
设置应用和服务
服务器上的 Node 应用将由PM2管理。安装完成后,pm2设置非常简单:
- API -
pm2 start ~/solaris/server/api/index.js --name solaris-api --watch - 服务器作业 -
pm2 start ~/solaris/server/jobs/index.js --name solaris-jobs --watch - Vue.js 客户端 -
pm2 start ~/solaris/client/node_modules/@vue/cli-service/bin/vue-cli-service.js --name solaris-client --node-args="serve"
以上就是神奇之处。pm2它将管理这三个进程,自动监控变化并在必要时重启应用程序。现在可以通过本地 IP 地址访问该应用程序了192.168.1.xxx:8080,太棒了!
设置 Visual Studio Code
现在应用程序已经运行并监视更改,我需要一种方法来实际编辑文件。我选择使用 VS Code,因为它有一个很棒的扩展程序,可以通过.ssh
调试
调试的唯一缺点是,停止进程然后启动 VS Code 调试会话会稍微有些不方便。pm2
解决此问题的最佳方法是在--inspect启动pm2进程时启用该标志:
pm2 start solaris-jobs --node-args="--inspect=9230" --watch
然后使用 VS Code 配置附加到该进程。
{
"type": "node",
"request": "attach",
"name": "Attach to Jobs",
"port": 9230
}
有关该--inspect旗帜的更多信息,请点击此处。
最后想说的话
完成所有这些设置后,我现在只需在开发机上打开 VS Code 即可直接开始编码,无需事先考虑任何配置问题。由于环境是远程的,因此所有更改都会永久保存。我可以在台式机上编写代码,然后切换到笔记本电脑继续之前的工作。
我还可以更进一步,使用像code-server这样的工具,它可以直接在树莓派上运行 VS Code。这样我只需要一台带浏览器的设备就可以开始编程了。最终,我甚至可以在我的三星智能冰箱上写代码!
请在评论区告诉我你的想法或建议。感谢阅读。
文章来源:https://dev.to/mikeeason/how-i-migerated-my-development-environment-to-a-raspberry-pi-1olg