GitHub Actions配置报YAML映射项缩进错误,- name: Build docker行如何修复
修复方案
根因
该报错由YAML缩进层级不匹配导致,你的配置文件存在多处缩进错误:
steps下的所有步骤项需要对齐到同一缩进层级,原配置中首个步骤- uses: actions/checkout@v2是steps的子元素,后续的- name: Build docker缩进和steps平级,不属于steps数组范围,直接触发解析错误- 后续
Extract commit、Get branch name等步骤缩进逐层错配,部分直接和buildjob的顶级属性平级,完全脱离steps数组 - 代码中存在HTML转义符
",需要替换为普通双引号"
修复后完整配置
name: CI-dev-pipeline on: # Triggers the workflow on push or pull request events but only for the develop branch push: branches: [ develop ] pull_request: branches: [ develop ] jobs: build: # The type of runner that the job will run on runs-on: ubuntu-latest container: image: lucasalt/act_base:latest steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v2 with: path: "workflow" - name: Build docker run: | echo ---Building and starting up docker--- docker-compose -f ./workflow/docker-compose.test.yml -p testing up -d echo ---Containers up--- - name: Run test run: | echo --- Running test cases --- docker-compose -f ./workflow/docker-compose.test-github.yml -p testing up --build --exit-code-from api-test echo --- Completed test cases --- - name: Extract commit shell: bash run: | echo "GITHUB_SHA_SHORT=$(echo $GITHUB_SHA | cut -c1-7)" >> $GITHUB_ENV - name: Get branch name (merge) if: github.event_name != 'pull_request' shell: bash run: echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV - name: Get branch name (pull request) if: github.event_name == 'pull_request' shell: bash run: echo "BRANCH=$(echo ${GITHUB_HEAD_REF} | tr / -)" >> $GITHUB_ENV - name: Send slack notification if: always() uses: edge/simple-slack-notify@master env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} with: channel: '#deployment' status: ${{ job.status }} success_text: '${env.GITHUB_WORKFLOW} #${env.GITHUB_RUN_NUMBER} build completed successfully' failure_text: '${env.GITHUB_WORKFLOW} #${env.GITHUB_RUN_NUMBER} build failed' cancelled_text: '${env.GITHUB_WORKFLOW} #${env.GITHUB_RUN_NUMBER} build was cancelled' fields: | [{ "title": "Repository", "value": "${env.GITHUB_REPOSITORY}", "short": true }, { "title": "Branch", "value": "${env.BRANCH}", "short": true }, { "title": "Commit", "value": "${env.GITHUB_SHA_SHORT}", "short": true }, { "title": "Action URL", "value": "${env.GITHUB_SERVER_URL}/${env.GITHUB_REPOSITORY}/actions/runs/${env.GITHUB_RUN_ID}"}]
注意事项
- YAML缩进统一使用2个空格,禁止使用Tab
- 同一层级的配置项必须左对齐,所有
-开头的步骤项缩进必须完全一致 - 不要直接复制带HTML转义的代码,避免转义符污染配置
内容的提问来源于stack exchange,提问作者cr_untilted
相关产品推荐
相关产品推荐

