我正在为我的 .net 项目使用 Jenkins Pipeline。我不想使用默认内部版本号,所以我尝试在 groovy 中使用以下命令设置内部版本号。
def short_hash = bat(script: 'git log --pretty=format:\'%%h\' -n 1', returnStdout: true)
currentBuild.displayName = '0.0.' + "${env.BUILD_NUMBER}" +'.' + short_hash
Run Code Online (Sandbox Code Playgroud)
我观察到的是 short_hash 具有批处理命令的值以及结果。
此处的 jenkins 文档指出“脚本执行批处理脚本。允许多行。使用 returnStdout 标志时,您可能希望用 @ 作为前缀,以免命令本身包含在输出中。”
我尝试使用@,但在执行时出错。任何指针?
将更改部署到网站的最佳方式是什么(替换dll和其他所需文件)?
是应该停止并启动网站还是应该停止并启动应用程序池?
我读到当网站停止时,它仍然在内存中加载了应用程序状态.在这种情况下,是否会提供旧请求?可以毫无问题地更换dll吗?网站启动时如何重新加载内容?
当应用程序池停止时,它是否会继续提供旧请求?如果是,考虑到网站现在包含已更改的dll,旧请求如何得到服务?
我在Jenkins管道中使用输入步骤.在Teamcity中,输入步骤非常直观,其中显示弹出窗口以接受输入.
在Jenkins Pipeline中,构建暂停,并显示"Input Requested"的输入以接受输入.
有没有办法将输入步骤显示为Jenkins Pipeline中类似于Teamcity的弹出窗口?