嵌入式技术论坛
直播中

刘涛

7年用户 721经验值
私信 关注
[经验]

RT-Thread Linux CI 环境使用教程

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

更多回帖

发帖
×
20
完善资料,
赚取积分