大多数Windows SFTP客户端(如FileZilla)似乎都是基于GUI的.我需要一些我可以从批处理文件调用的东西.
我们使用Hudson来构建我们的项目,Hudson在编译时方便地定义了像"%BUILD_NUMBER%"这样的环境变量.
我想在代码中使用该变量,因此我们可以在运行时记录这是什么构建.但是我不能做System.Environment.GetEnvironmentVariable,因为那是访问运行时环境,我想要的是这样的:
#define BUILD_NUM = %BUILD_NUMBER%
Run Code Online (Sandbox Code Playgroud)
要么
const string BUILD_NUM = %BUILD_NUMBER%
Run Code Online (Sandbox Code Playgroud)
除了我不知道语法.有人可以指点我正确的方向吗?谢谢!
我有一些我正在阅读的客户端数据,并且我为其中一个值定义了一个Enum,所以我可以使用Enum.Parse(type,somestring).
问题是他们刚刚添加了一个新值:"公共".是否可以定义一个也是保留字的枚举值?
IE:
public enum MyEnum {
SomeVal,
SomeOtherVal,
public,
YouGetTheIdea
}
Run Code Online (Sandbox Code Playgroud)
如果不是,我想我会写一个解析方法.
我需要编写一个脚本,可以将标记从构建服务器推送到git服务器而不使用SSH密钥.
更多人可以访问构建服务器而不是git服务器,因此SSH密钥将无法工作,因为任何人都可以在没有指定自己的凭据的情况下推送到git服务器.
该脚本将从Jenkins/Hudson运行,它在开始构建时提示用户输入用户名和密码,然后将它们作为环境变量传递给脚本.
问题是,我找不到强制git以编程方式接受密码的方法.
我试过了:
echo %password% | git push
Run Code Online (Sandbox Code Playgroud)
以及
git push < tempfilewithpassword.txt (not that writing the password to a temp file is a good idea anyway).
Run Code Online (Sandbox Code Playgroud)
但在这两种情况下,git仍然会提示输入密码.
更新:我也尝试了一个python脚本,重定向stdin和stdout,没有运气,仍然得到提示.
更新:另外我尝试了Expect for Windows,它没有得到提示,无论是在控制台还是在Expect本身(IE Expect从未看到来自git的任何输出,它最终只是超时).
有什么建议?
注意:让我澄清一下,因为人们真的忙于使用SSH密钥.
要求:
据我所知,涉及设置SSH密钥的NOTHING将满足此要求(除非我要求用户在启动脚本时上传他们的SSH密钥,这是不方便的).
我正在使用一个开源库(log4net),它附带了LICENSE,NOTICE和README文件,这些文件应该在您分发时包含在内.所以我想让visual studio将它们与我的二进制文件一起放在输出目录中.
我有一个log4net及其三个文件在"lib\log4net"目录中.问题是如果我将文件添加为内容文件,它们将被复制到bin\release\lib\log4net,而不是bin\release.是否有任何方法可以让视觉工作室在建造时坍塌?
我最初使用后期构建步骤来复制它们,但是后来Visual Studio不知道它们并且它不会将它们放在任何其他依赖项目的输出文件夹中(如果你将它们称为内容它将会执行).
c# ×3
command-line ×1
compile-time ×1
enums ×1
git ×1
hudson ×1
sftp ×1
ssh ×1
tags ×1
windows ×1