fer*_*ows 0 github github-actions
我目前正在尝试从其他两个工作流程调用可重用工作流程,这两个工作流程都位于与可重用工作流程相同的目录和相同的私有存储库中。这些文件看起来像这样:
// .github/workflows/deploy.yml
name: Deploy
on:
workflow_call:
inputs:
bucketFolder:
type: string
jobs:
deploy:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18]
steps:
- uses: actions/checkout@v3
- uses: pnpm/action-setup@v2
with:
version: 7
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: "pnpm"
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1-node16
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- name: Install modules
run: pnpm install
- name: Build application
run: pnpm run build
- name: Deploy to S3
run: aws s3 sync ./dist/ s3://${{ secrets.BUCKET_ID }}/${{ inputs.bucketFolder }}
- name: Create CloudFront invalidation
uses: nick-fields/retry@v2
with:
max_attempts: 6
retry_on: error
timeout_seconds: 60
retry_wait_seconds: 600
command: aws cloudfront create-invalidation --distribution-id ${{ secrets.DISTRIBUTION_ID }} --paths "/*"
Run Code Online (Sandbox Code Playgroud)
// .github/workflows/product.yml
name: Deploy - Production
on:
push:
branches:
- main
workflow_dispatch:
branches:
- main
jobs:
awsDeploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/workflows/deploy.yml
with:
bucketFolder: production
Run Code Online (Sandbox Code Playgroud)
// .github/workflows/staging.yml
name: Deploy - Staging
on:
push:
branches:
- staging
workflow_dispatch:
branches:
- staging
jobs:
awsDeploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/workflows/deploy.yml
with:
bucketFolder: staging
Run Code Online (Sandbox Code Playgroud)
在“/home/runner/work/{repository-name}/{repository-name}/.github/workflows/deploy.yml”下找不到“action.yml”、“action.yaml”或“Dockerfile”。您是否在运行本地操作之前忘记运行操作/结账?
事实上它在路径中使用 {repository-name}/{repository-name} 是问题所在吗?如果是,我该如何修复它?如果不是,这里出了什么问题?
当您在步骤级别指定时uses
,就像您对示例所做的那样,这会告诉解析器查找 GitHub Action 而不是工作流程(这就是您收到错误Can't find 'action.yml'
消息的原因)。
为了调用可重用的工作流程,uses
必须在作业级别指定:
jobs:
awsDeploy:
uses: ./.github/workflows/deploy.yml
with:
bucketFolder: staging
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请查看调用可重用工作流程文档。
归档时间: |
|
查看次数: |
1951 次 |
最近记录: |