我在ASP.NET MVC Web项目上工作,我们正在同时开发几个功能。每个功能都在自己的分支上,为了测试网站,我们将其发布到临时区域。
然而,在发表之后,我经常忘记我们发布的分支。
有没有办法将git分支名称注入到某个地方的HTML中,因此该页面将显示<span>feature/coolNewFeature1</span>
或<span>develop</span>
作为提醒代码库当前在暂存区域?
答案 0 :(得分:0)
git.exe rev-parse --abbrev-ref HEAD > "$(ProjectDir)\Resources\BuildInfo.txt"
构建项目,标记&#34; BuildInfo.txt&#34;文件作为嵌入式资源
在您的页脚cshtml
中,添加如下代码:
@{
var buildInfo = Cache["buildInfo"];
if (buildInfo == null)
{
using (var r = new StreamReader(typeof(HomeController).Assembly
.GetManifestResourceStream("My.Module.Web.Resources.BuildInfo.txt")))
{
buildInfo = Cache["buildInfo"] = r.ReadToEnd();
}
}
}
@buildInfo
答案 1 :(得分:-1)
我对ASP .NET不太满意,但我可以想到以下一系列步骤(我假设您将选择一个git分支,编译然后部署 - 并且有一个脚本可能会自动执行此操作):
创建一个声明
的小Javascript文件(例如version.js)var version_branch = "<your-branch>";
运行shell脚本(或在您的平台上等效)
$ t=$(git branch | grep "*" | cut -d' ' -f2) && echo "var version = '"$t"';" > /path/to/js/file
将此信息包含在您正在服务的Javascript文件中 - 就像您可能正在为其他Javascript做的那样。请务必在主模板页面上包含此文件的<script>
标记。
当页面加载时,您可以使用jquery在页脚中注入此文本,因为此问题的接受答案表明 - Using CSS to insert text。
希望这有帮助!