我正在运行一个简单的 CI 作业,假设将 ZIP 存档上传到 Perforce 仓库。我正在努力获得专门用户的授权。我在 Windows 上运行作业(在 PowerShell 中),这是我的 CI 脚本:
script:
- 'Write-Host "Uploading package to Perforce..."'
- p4.exe client -o > $env:USERPROFILE\myclient.spec
- Add-Content -Path $env:USERPROFILE\myclient.spec -Value " View:`n`t//$env:TARGET_DEPOT/... //$env:P4CLIENT/..."
- Get-Content $env:USERPROFILE\myclient.spec | p4.exe client -i
- p4.exe sync
- p4.exe add ${env:PACKAGE_NAME}.zip
- p4.exe submit -d "Adding $env:PACKAGE_NAME.zip"
- 'Write-Host "Finished uploading the package..."'
我使用
P4PASSWD
中的 CI 变量存储密码,以及 P4CLIENT
和 P4USER
值。执行此作业时,我得到了错误:
Perforce password (P4PASSWD) invalid or unset.
我尝试先在我的本地机器上手动复制这些步骤。我希望有一种方法可以将密码值传递给
p4 login
命令,但它更像是要求在提示符中输入密码。我应该使用什么方法在 CI 作业中授权 Perforce 用户?