0 Preface/Foreword
1 GitLab runner环境
具体情况如下:
- Gitlab-ruuner运行在wsl 1中的Ubuntu 18.04 distro上
- 专门为GitLab-runner分配了一个用户,名为gitlab-runner
2 自动编译
2.1 Permission denied
编译过程中,有两个文件出现权限不允许情况,一个是dsp/build.sh文件,一个是mcu/build.sh文件。
解决方法:
- 运行过程中通过chmod命令修改文件权限
- 修改gitlab repo中文件权限,使用命令git update-index --chmod=+x FileName
2.1.1 解决办法
修改仓库中文件权限。(可以通过脚本,一次性将所有的*.sh文件权限修改成可执行)
find ./ -name "*.sh" | xargs git update-index --chmod=+x
2.2 删除文件失败
第二次触发gitlab-runner时,会出现删除out/权限不够。
2.2.1 解决办法
在job完成之后,清除out/ 。
sudo rm -rf ./out
2.3 编译工具链不正确
2.1和2.2中的问题解决后,出现了新的问题,最终编译还是失败,DSP和MCU都没有编译通过。
2.3.1 DSP编译失败
失败案例中关键LOG:
成功案例中关键LOG:
开发环境搭建时候,编译工具链是安装在: /home/andy/airoha_sdk_toolchain 路径下。
2.3.2 MCU编译失败
失败案例LOG:
成功案例LOG: