首页 > 解决方案 > github 操作——编译结果在哪里?

问题描述

我已经定义了一个小的 github 操作工作流,它应该从 scss 编译一个 kss-styleguide。

该工作流程的步骤基本上触发了构建生成的 css 和相应的 kss-styleguide。

当我在我的开发机器上本地运行构建过程时,构建的样式指南被写入位于我项目根目录中的样式指南文件夹。

然而在 github 上,尽管所有内容都被标记为绿色,但我不知道结果文件被写入什么或写入何处。

如果我不知道生成的样式指南在哪里,如何部署它?

这是我用于此工作流程的 yaml 文件:

名称:Node.js CI

上:
  推:
    分支:[ mk-node-ci ]
  拉取请求:
    分支:[ mk-node-ci ]
工作:
  建造:
    名称:构建风格指南
    运行:ubuntu-latest
    战略:
      矩阵:
        节点版本:[14.x]
    脚步:
      - 使用:actions/checkout@v2
      - 名称:使用 Node.js ${{ matrix.node-version }}
        使用:操作/设置节点@v1
        和:
          节点版本:${{ matrix.node-version }}
      - 用途:borales/actions-yarn@v2.0.0
        和:
          cmd:安装
        环境:
          NODE_ENV:开发
      - 名称:“构建 CSS 文件”
        用途:borales/actions-yarn@v2.0.0
        和:
          cmd:“构建:css”
      - 名称:“构建样式指南文件”
        用途:borales/actions-yarn@v2.0.0
        和:
          cmd:“构建:样式指南”

标签: githubgithub-actions

解决方案


格林威治标准时间 2020.10.14 19:25 更新

GitHub Actions 在单独的“干净” Runner Machine上执行。

actions/checkout@v2是一个将你的存储库复制到该机器的操作——通常用于执行测试等。

为了将生成的结果(如修改后的文件)从运行器机器返回到原始存储库,我们可以使用:

(1)上传-工件动作。(2) git推送。

例如,这是我从源目录修改文件并将它们放入输出目录的脚本(我将其作为操作(bash 脚本)运行:)- run: wrap.sh。脚本wrap.sh

echo "Copy directory structure from 'in' to 'out':";
find ./in -type d | while read i;
do
    if [ ! -d "${i/in/out}" ]; then
        mkdir "${i/in/out}"
        echo "${i/in/out}";
    fi
done
echo "Wrap files:";
find ./in -type f -name "*" | while read i;
do
    echo "${i/in/out}";
    cat ./tpl/header.html "$i" ./tpl/footer.html >"${i/in/out}"
    git add "${i/in/out}"
done
git config user.name "chang-zhao"
git commit . -m "Wrapping"
git push origin main

git add "${i/in/out}"是向 git 添加一个具有该名称的新文件。git config user.name "..."是提交工作所必需的。git commit . -m "Wrapping"是将新文件放入存储库的提交(“包装”是我为此类提交起的名称)。

这样,在运行服务器上生成的文件会被推送到原始存储库。


推荐阅读