【问题标题】:GitHub Action to copy and a rename a file复制和重命名文件的 GitHub 操作
【发布时间】:2020-10-07 11:01:25
【问题描述】:

有没有通过 GitHub 操作复制重命名文件的智能方法? 我想将一些 README 复制到 /docs 文件夹(:= 同一个仓库,而不是远程仓库!),在那里它们将根据它们的 frontmatter title 重命名。

目标是拥有某种自动更新的文档系统,每次我推送 Jekyll 时都会自动填充。

【问题讨论】:

    标签: github github-actions


    【解决方案1】:

    最后这就是我所做的:

    name: docs
    on:
      push:
        branches: [ master ]
        paths: 'myfolder/*/README.md'
    
    jobs:
      docit:
        runs-on: ubuntu-latest
    
        steps:
        - uses: actions/checkout@master
        - name: Copy the Readmes
          run: |
            find ./myfolder/ -type f -name "README.md" | while read fname; do
              dirname=`dirname "$fname"`
              foldername=`basename "$dirname"`
              filename=`basename "$fname"`
              newname=`echo "$dirname" | sed -e "s/ /_/g"`
              cp "${dirname}/$filename" "./docs/_myfolder/${foldername}.md"
            done
        - name: Commit files
          run: |
            git config --local user.email "action@github.com"
            git config --local user.name "GitHub Action"
            git commit -m "Add changes" -a
        - name: Push changes
          uses: ad-m/github-push-action@master
          with:
            github_token: ${{ secrets.GITHUB_TOKEN }}
    

    我发现我不需要查看前面的内容,因为自述文件位于我需要的名称的文件夹中。
    当心:cp 如果你第一次运行它会唠叨,CI 会失败,因为你不能在 git 中跟踪空文件夹。所以我只是创建了一个空的虚拟文件以确保“_myfolder”始终存在。

    【讨论】:

      猜你喜欢
      • 2022-01-27
      • 2013-06-13
      • 1970-01-01
      • 2016-11-01
      • 2018-04-21
      • 1970-01-01
      • 2021-06-08
      • 2022-12-30
      • 2017-12-09
      相关资源
      最近更新 更多