
在处理CI / CD(gitlab ce)方面有一些工作,最近我在github上遇到了一些动作,并决定尝试这是哪种野兽。
构建JS或其他解决方案并不是一件很有趣的事,所以我决定测试esp8266的Arduino草图的组装,结果得到了一个编译好的二进制文件,可以直接下载到微控制器,而无需安装本地Arduino IDE。
动作或管道在某些事件(例如,推送到git信息库分支)之后开始的一系列命令和操作,即,它将在更改文件后启动。 您可以使用github编辑器直接修改文件,项目将自动生成和编译。 流水线不仅用于编译,还用于各种代码测试。
我并没有开始为所有这些制作一个docker镜像,这会使组织ci / cd的过程变得复杂,同样,我不需要为每个库创建一个镜像。
这有什么用? 假设存在某种开源项目,用于具有不同内存量的控制器的不同版本,并且为所有平台编译代码都需要花费大量时间。 在实际操作中,您可以一次配置需要组装的平台-并且随着平台中每个版本的存储库中代码的每次更改,都会有一个就绪的固件。
动作脚本本身的代码:
on: [push] jobs: build: runs-on: ubuntu-18.04 steps: - uses: actions/checkout@v1 - name: install arduino cli run: curl -fsSL https:
实际上-
- 在带有Ubuntu 18.04的干净系统上,我们安装了arduino-cli
- 添加esp8266支持
- 编译存储库中托管的arduino代码,
- 我们创建一个发行版,在其中添加已编译的二进制文件

对于开源项目,对github的操作是免费的,对于封闭的存储库,现在也可以使用它们,但是一段时间后它们似乎变得不可访问。
我不冒充,有些事情可以做得更容易,但是无论如何,它都能奏效。