github - 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:“构建:样式指南”
解决方案
格林威治标准时间 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"
是将新文件放入存储库的提交(“包装”是我为此类提交起的名称)。
这样,在运行服务器上生成的文件会被推送到原始存储库。
推荐阅读
- wildcard - AEM 6.4:在过滤器定义中使用通配符
- julia - Julia 的微分方程步长控制
- sql - 表分区 - 保留基本和分区孩子?
- jdbc - 将 Google 表单数据复制到 Cloud SQL
- typescript - 无需导入即可使用类型和接口
- javascript - 覆盖在不同文件中为 Mocha 声明的模拟对象
- asp.net-mvc - 剑道编辑器需要从数据库/本地文件夹中显示图像
- unity3d - 对在游戏过程中只有一侧可见的 2d 纹理使用四边形而不是精灵?
- node.js - 在 Netlify 上设置 Mailjet lambda
- nginx - 在入口处设置 nginx 限制请求突发数