假设我有一个包含多个文件(例如.html、.js、.css、.cs等)的项目。这些文件是通过grunt发布的,它会从我的输入src/文件创建一个build/文件夹。
在此过程中,它不会包含我所有的src文件,还会更改一些文件的名称(例如,更改为.min.js和.min.css )。输入文件的列表在tasks with src参数中指定,重命名是通过ext参数完成的。这很酷,关于要包含在版本中的文件的所有信息都在grunt文件中。
但是,是否可以自动检查输入文件是否也添加到git中?
在几个月内发布数百个版本,然后发现我在第一个版本中忘记添加一个重要的文件到git中,这将是非常令人沮丧的。这意味着存储在git中的所有以前的snapshots都是不完整的。
我知道一些自动化的Jenkins测试可能会有所帮助,但这些测试可能应该包含另一个独立创建的文件列表。这将是一个很好的第二次检查,但情况并不会更容易。
Grunt知道发布所需的源文件的所有信息,并且可以在发布期间执行许多检查。如果grunt可以在运行任务之前执行git status,并且可以在应用任务之前应用source filter来检查git中是否存在文件,那就太好了。
创建一个grunt任务,或者执行一个git命令行也是一种解决方案,但是对于这个解决方案,我恐怕需要再次列出我所有的src列表和ext参数。
注意:对于开发,我也使用Windows和Linux。
发布于 2019-10-06 18:14:17
我已经创建了一个脚本,它为我做了所有重要的事情。然而,我并不是Windows脚本专家,所以我不得不把它分成两部分。
第一行必须在PowerShell中执行,其他行可以从标准cmd窗口启动。
REM PowerShell:
REM grunt -v | findstr /R '^Reading' | %{$_ -replace '^Reading','@git status -s'} | %{$_ -replace '...OK$',''} | Out-File git_check.bat ASCII
git_check.bat
del git_check.bat时间批处理脚本git_check.bat的输出示例:
w:\Project>git_check.bat
?? src/js/output_SUSPEND.js
?? src/js/3rdparty/lz-string.js
?? src/img/ajax-loader.gif有谁有更简单的单一脚本解决方案吗?
https://stackoverflow.com/questions/58151300
复制相似问题