3

我正在尝试在 github 工作流程中将文件夹的内容复制到另一个文件夹中。我知道工作流可以创建新的文件夹和文件,因为在 react 项目上调用 build 会创建项目中不存在的构建,但它会在使用 mkdir 的后续运行命令中引发错误。

错误: mkdir: cannot create directory ‘myNewFolder’: No such file or directory

我的问题是如何实现

> mkdir myNewFolder && cp -R myOldFolder myNewFolder

或者

> cp -R myOldFolder myNewFolder

当 repo/workflow 工作目录中不存在 myNewFolder 时工作?

编辑(请求的工作流文件)

name: Test Server Build and Deploy (CD)

on:
  push:
    branches:
        - cd_branch

jobs:
  deploy:
    runs-on: ubuntu-latest
    env: 
        MY_APP_ENV_VARIABLE:  ${{ secrets.ENV_VARIABLE}}

steps:
        - uses: actions/checkout@v2
        - uses: actions/setup-node@v2
          with:
              node-version: '14.15.4'
        - run: npm cache clean --force
        - run: npm run copy-script

我的复制脚本在哪里: "copy-script": "mkdir existingFolder/newFolder1/newFolder2 && cp -R oldfolder/sub existingFolder/newFolder1/newFolder2"

4

1 回答 1

4

在创建嵌套在另一个文件夹中的新文件夹时,添加-p(parants) 选项后mkdir告诉 Linux 将所有目录列在路径中。

我试过这个,它对我有用:

name: SO-023 Create folder

on:
  push:
    branches: [ main ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Create folder
        run: |
          mkdir -p myNewFolder/myNewSubFolder && cp -R dist myNewFolder/myNewSubFolder
          ls myNewFolder/MyNewSubFolder
          
于 2021-06-16T07:43:27.020 回答