目标是在不提供任何密码的情况下克隆 Visual Studio Team Services 中的 Git 存储库。进一步的目标是完全非交互式地完成,根本没有任何提示。
问题描述:
操作系统是Windows Server 2016。假设我的用户名是batman。我已经在 Windows 中设置了私钥(没有密码)C:\Users\batman\.ssh\id_rsa。
我在 VSTS 上为我的用户帐户添加了公钥。都好。
我想克隆存储库,VSTS Web UI 为我提供了一个存储库的 SSH URL。我在我执行的以下命令中使用它:
git clone ssh://mycompany@mycompany.visualstudio.com:22/MyProject/_git/MyRepo
响应:
Cloning into 'MyRepo'...
Enter passphrase for key '/c/Users/batman/.ssh/id_rsa':
mycompany@mycompany.visualstudio.com's password:
Run Code Online (Sandbox Code Playgroud)
所以首先它会要求输入密钥密码,我只需按 Enter 键,但最后一行令人困惑。我应该输入什么密码,为什么要问它?怎么让它不问呢?如何使克隆命令根本不问任何问题?
我们的想法是让一个包含任意二进制数据的向量,并以十六进制表示法将它包含的字节输出到stdout.我使用std :: copy将输入向量中的字节复制到stdout.问题是代码打印出0后跟原始二进制数据.这是代码:
auto vec = std::vector<uint8_t> {'h', 'e', 'l', 'l', 'o'};
std::cout << std::hex << std::setfill('0') << std::setw(2);
std::copy(vec.begin(), vec.end(), std::ostream_iterator<uint8_t>(std::cout));
Run Code Online (Sandbox Code Playgroud)
该应用程序打印出"0hello".我希望它打印出"68656C6C6F".可能是这样的?
CI/CD 流程:
后续版本会更新脚本和可执行文件,但虚拟机不会下载更新的脚本。如何让它重新下载并运行将运行更新的可执行文件的脚本?