Jenkins归档工件插件将文件压缩为"archive.zip"文件.它始终具有相同的文件名.更重要的是,Jenkins实际上没有存档("构建"目录中没有任何"archive.zip"文件).詹金斯只是映射网址
https://www.my-jenkins-server.com/jenkins/job/ $ job_name/$ job_number/artifact/*zip*/archive.zip
并始终返回作业目录中的所有内容,这些匹配在post build action archive artifact插件中配置的模式.
问题是,该作业本身会生成ZIP存档,因此我需要以原始名称发布此存档.重要的是,因为存档的名称阐明了作业的所有者,内部的数据,用于运行作业的参数.假设用户使用不同的参数运行了10次作业,并且在下次运行之前不要等待每个作业完成.稍后用户将开始下载结果并获取
archive.zip
archive(1).zip
archive(2).zip
...
archive(10).zip
Run Code Online (Sandbox Code Playgroud)
现在,他需要从下载的档案中提取档案,以获得10个具有限定名称的档案.然后删除那些下载的存档.之后,通过合格的存档名称识别他实际需要的名称,然后删除其余部分.这里容易出错,删除或遗漏档案文件.
我的解决方案是:
由作业存档根据其原始名称生成的发布.
生成我的文件和表单存档的文件名,应该提供它,跳过工作内部的压缩.最后一步,将此文件名作为参数传递到存档工件插件构建操作,因此Jenkins将以作业本身配置的特殊名称提供存档.
我的想法是有一个验证器接口,它有方法getRealValue().返回值取决于领域,它可能是String,Integer或Long值.
我的机会是:
我可以将返回类型指定为,Object并在每次调用此方法后使用转换.(RuntimeError如果错误的铸造发生).
我可以在实例化时使用泛型返回类型到验证器(我仍然需要使用强制转换但在方法内getRealValue只有一次).不过RuntimeError,如果我会忘记通过返回类型或传递错误的类型.
如果有办法我可以在验证器中存储返回类型并使用它?
每次启动emacs时都会收到此消息
Emacs 24.2
Win7 64 and Ubuntu 12.10
yasnippet 0.8.0 installed with package-list
Run Code Online (Sandbox Code Playgroud)
是否有解决方法?
如何强制maven编译1.6兼容源
我在eclipse中用maven制作了web-app项目.将web.xml更改为使用3.0版本 - >然后更新配置,现在我无法启动tomcat.我发现我必须强制maven编译源1.6兼容,我必须添加
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<executable>${env.JAVA_HOME_7}/bin/javac</executable>
<fork>true</fork>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但日食中的有效pom是不可编辑的
所以有没有maven兼容eclipse或任何其他方式强制maven编译源1.6版本?
根据PostgreSQL的文档,可以直接从查询中将数据复制到csv文件,而无需使用中间表.我很好奇如何做到这一点.
CREATE OR REPLACE FUNCTION m_tbl(my_var integer)
RETURNS void AS
$BODY$
DECLARE
BEGIN
COPY (
select my_var
)
TO 'c:/temp/out.csv';
END;
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:没有这样的列'my_var'.