github 操作——编译结果在哪里?
Posted
技术标签:
【中文标题】github 操作——编译结果在哪里?【英文标题】:github actions – where are the compilation results? 【发布时间】:2020-10-08 14:55:40 【问题描述】:我已经定义了一个小的 github action 工作流,它应该从 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: "build:styleguide"【问题讨论】:
请发布您操作的构建步骤的日志。与本地运行时的日志有区别吗? 【参考方案1】:2020.10.14 19:25 GMT 更新
GitHub 操作在单独的“干净”Runner Machine 上执行。
actions/checkout@v2 是将您的存储库复制到该机器的操作 - 通常用于执行测试等。
为了将生成的结果(如修改后的文件)从运行器机器返回到原始存储库,我们可以使用:
(1) upload-artifact 操作。 (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"
是将新文件放入存储库的提交(“Wrapping”是我为此类提交起的名称)。
这样,在运行器服务器上生成的文件会被推送到原始存储库。
【讨论】:
以上是关于github 操作——编译结果在哪里?的主要内容,如果未能解决你的问题,请参考以下文章
在使用 github 操作进行构建期间执行诗歌安装时,使用预编译的 numpy 包而不是构建它