繁体   English   中英

Github 操作 - 无效的工作流文件

[英]Github Actions - Invalid workflow file

我正在尝试使用 GitHub Actions 构建 CI/CD 管道,但不幸的是,我遇到了 yaml 文件的错误。

这是我的 Yaml 文件:

---
name: Build and push python code to gcp with github actions
on:
  push:
    branches:
      - main
jobs:
  build_push_grc:
    name: Build and push to gcr
    runs_on: unbuntu-latest
  env:
    IMAGE_NAME: learning_cicd
    PROJECT_ID: personal-370316
  steps:
    - name: Checkoutstep
      uses: actions/checkout@v2
    - uses: google-github-actions/setup-gcloud@master
      with:
        service_account_key: ${{ secrets.SERVICE_ACCOUNT_KEY}}
        project_id: ${{ env.PROJECT_ID }}
        export_default_credentials: true
    
    - name: Build Docker Image
      run: docker build -t $IMAGE_NAME:latest .
    
    - name: Configure Docker Client
      run: |-
        gcloud auth configure-docker --quiet
    
    - name: Push Docker Image to Container Registry (GCR)
      env:
        GIT_TAG: v0.1.0
      run: |-
        docker tag $IMAGE_NAME:latest gcr.io/$PROJECT_ID/$IMAGE_NAME:latest
        docker tag $IMAGE_NAME:latest gcr.io/$PROJECT_ID/$IMAGE_NAME:$GIT_TAG
        docker push gcr.io/$PROJECT_ID/$IMAGE_NAME:latest
        docker push gcr.io/$PROJECT_ID/$IMAGE_NAME:$GIT_TAG

这是我遇到的错误:

GitHub Actions
/ .github/workflows/gcp.yaml
Invalid workflow file
You have an error in your yaml syntax on line 15

我尝试了 inte.net 上所有可能的缩进,但没有成功。 我尝试了 Yamllinter,但仍然找不到错误的来源。 请指出我哪里出错了。

谢谢。

runs-on (不是runs_on )相对于作业标识符应该有两个空格缩进。 另外,操作系统应该是ubuntu-latest

然后, env应该与runs-onname具有相同的缩进,与steps相同。

这是正确的 WF:

---
name: Build and push python code to gcp with github actions
on:
  push:
    branches:
      - main
jobs:
  build_push_grc:
    name: Build and push to gcr
    runs-on: ubuntu-latest
    env:
      IMAGE_NAME: learning_cicd
      PROJECT_ID: personal-370316
    steps:
      - name: Checkoutstep
        uses: actions/checkout@v2
      - uses: google-github-actions/setup-gcloud@master
        with:
          service_account_key: ${{ secrets.SERVICE_ACCOUNT_KEY}}
          project_id: ${{ env.PROJECT_ID }}
          export_default_credentials: true

      - name: Build Docker Image
        run: docker build -t $IMAGE_NAME:latest .

      - name: Configure Docker Client
        run: |-
          gcloud auth configure-docker --quiet

      - name: Push Docker Image to Container Registry (GCR)
        env:
          GIT_TAG: v0.1.0
        run: |-
          docker tag $IMAGE_NAME:latest gcr.io/$PROJECT_ID/$IMAGE_NAME:latest
          docker tag $IMAGE_NAME:latest gcr.io/$PROJECT_ID/$IMAGE_NAME:$GIT_TAG
          docker push gcr.io/$PROJECT_ID/$IMAGE_NAME:latest
          docker push gcr.io/$PROJECT_ID/$IMAGE_NAME:$GIT_TAG

我建议在 GitHub 文件编辑表单中调试此类问题(编辑.github/workflows目录中的yml文件)。 它将突出显示有关工作流语法的所有问题。 演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM