在另一个目录中运行的动作

问题描述 投票:1回答:1

我刚刚开始探索Github动作,但是我发现自己在多个地方放置了一条命令。

我有一个PHP项目,其中composer.json不在根目录中,我的结构如下:

my-project:
    readme.md
    app:
        composer.json

显然还有很多,这是有原因的,但是我的composer.json位于一个名为“ app”的子目录中。结果,在我的工作流程中,每次运行命令时,我都必须进入该文件夹cd:

name: CI

on: [push]

jobs:
  phpunit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Setup Symfony
        run: |
          cd app
          cp .env.dev .env
      - name: Install Composer Dependencies
        run: |
          cd app
          composer install --prefer-dist
      - name: Run Tests
        run: |
          cd app
          php bin/phpunit

如何在每个阶段删除cd app

github github-actions
1个回答
0
投票

可以在一个步骤上设置working-directory,但不能用于多个步骤或整个作业。我相当确定此选项仅适用于脚本步骤,不适用于uses的操作步骤。

https://help.github.com/en/articles/workflow-syntax-for-github-actions#jobsjob_idstepsworking-directory

使用working-directory,您的工作流程将如下所示。它仍然很冗长,但可能更干净。

name: CI

on: [push]

jobs:
  phpunit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Setup Symfony
        working-directory: ./app
        run: cp .env.dev .env
      - name: Install Composer Dependencies
        working-directory: ./app
        run: composer install --prefer-dist
      - name: Run Tests
        working-directory: ./app
        run: php bin/phpunit
© www.soinside.com 2019 - 2024. All rights reserved.