YAML

194 阅读1分钟
name: Build #工作流名称
on: #触发工作流执行的事件名称
  push: #git库的推送事件
    branches: #推送的分支
      - master 
  pull_request: #git库的拉取请求事件
    types: [opened, synchronize, reopened] #拉取请求的各种类型

jobs:
  job1: #任务id
  job2: #任务id
     needs: job1 #依赖任务job1
     runs-on: macos-latest #任务的运行环境
     strategy: #执行策略
       matrix: #矩阵,即在所有os x node个环境下执行
         os: [macos, macos]
         node: [6, 8, 10]
     steps: #步骤
     - id: step1 #步骤id
     - id: step2 #步骤id
       name: Check out Git repository #步骤名称
       env: #步骤环境变量
         FIRST_NAME:Mona 
       uses: actions/checkout@v2  #用来运行名为checkout的action;不能与run同时出现
       with: #传染action需要的参数
         node-version: '12'
       run: |  #用来命令行命令,|可以运行多条命令;不能与uses同时使用
         echo "::set-output name=test::hello" 
       shell: bash #run的类型
       working-directory: ./tmp #run所在目录
     outputs: #输出
       output1:${{ steps.step1.outputs.test }}
       output2:${{ steps.step2.outputs.test }}
  build: #任务id(略)
    runs-on: macos-latest #任务的运行环境
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
        with:
          fetch-depth: 0

      - name: Download and install the build wrapper
      - name: Download and install the SonarScanner
      - name: Build and analyse the project
        run: |
          # Potential improvement : add these paths to the PATH env var.
          $HOME/.sonar/build-wrapper-macosx-x86/build-wrapper-macosx-x86 --out-dir bw-output xcodebuild
          $HOME/.sonar/sonar-scanner-4.6.2.2472-macosx/bin/sonar-scanner -Dsonar.cfamily.build-wrapper-output=bw-output
        env:
          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
          SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}