RT-Thread Linux CI 环境
一个嵌入式实时操作系统 RT-Thread 进行持续集成的容器化环境。
使用教程:
Docker本地步骤
拉取并启动镜像 maikebing/rt-thread_linux_env
代码片段至已经启动的容器中。
目录代码pkgs --update
可以使用cppcheck --enable=all --std=c99 applications/ 检查代码
scons ,直接翻译scons --target=mdk5
成果物打包如果使用文件名一般为 rtthread.bin ,根据你的实际情况在相关的 ci 中设置就好了。
GitHub 动作
按照下面的教程方式,找出你的项目中。 使用如下:
name: RT-Thread
on:
push:
branches: [ "master" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: scons
uses: actions/checkout@v3
- name: Setup RT-Thread
uses: maikebing/rt-thread_linux_env@v1
with:
TARGET: 'mdk5'
CPPCHECK: '--enable=all --std=c99 applications/'
Azure 管道
在目录新建 azure-pipelines.yml ,复制下面的内容,保存智能。
container:
image: maikebing/rt-thread_linux_env:latest
options: --hostname container-test
steps:
- script: if [ ! -d ~/.env ]; then ln /env ~/.env -s;fi
displayName: "Init env"
- script: pkgs --printenv;pkgs --list;pkgs --update
displayName: "Checkout all packages"
workingDirectory: $(Build.SourcesDirectory)
- script: cppcheck --enable=all --std=c99 applications/
displayName: "Static Code Analysis"
workingDirectory: $(Build.SourcesDirectory)
- script: scons --target=mdk5
workingDirectory: $(Build.SourcesDirectory)
displayName: "Build MDK5 Project"
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
TargetPath: '$(Build.SourcesDirectory)\rtthread.bin'
ArtifactName: 'rt-thread'
publishLocation: 'Container'
StoreAsTar: true
原作者:GitHub
更多回帖