有没有办法在 Azure DevOps CI/CD 构建管道中设置日期和时间(时区)

Pet*_*ser 5 continuous-integration azure-devops

我在 CI/CD 构建管道中运行了自动化测试,但 DevOps 中的时间是 UTC,我的断言测试检查本地时间。有没有办法在我的构建管道中设置时区?

小智 9

使用 Powershell,您可以执行以下操作:

Get-TimeZone
Set-TimeZone "India Standard Time"
Get-TimeZone
Run Code Online (Sandbox Code Playgroud)


小智 6

是的。例如,这个简单的 BASH 脚本使用 Microsoft 托管代理运行:

echo "checking date"
date
echo "setting date to Asia/Kolkata"
sudo timedatectl set-timezone "Asia/Kolkata"
date
Run Code Online (Sandbox Code Playgroud)

日志中看到的结果:

2019-07-05T20:26:48.5992486Z checking date
2019-07-05T20:26:48.5992954Z Fri Jul  5 20:26:48 UTC 2019
2019-07-05T20:26:48.5993264Z setting date to Asia/Kolkata
2019-07-05T20:26:48.9107025Z Sat Jul  6 01:56:48 IST 2019
Run Code Online (Sandbox Code Playgroud)

如您所见,您可以操纵代理上的当地时间。我不同意另一位发帖者的观点,即在运行测试的情况下这必然是一件坏事。

您可以在测试中添加一些额外的代码来考虑本地/目标时间,或者您可以在构建代理中添加 1 行代码并实现相同的效果。

这只是取决于,细节决定成败。小心你如何处理时间。