当我在控制台中运行我的代码时,它运行正常。它也可以在日食上运行良好。但是当我尝试在Jenkins上构建时,它需要一个src文件夹:
“C:\ Program Files(x86)\ Jenkins \ Work space \ job1 \ src”不存在!
的build.xml
<project name="Sample Ant build" basedir=".">
<!-- ========== Initialize Properties =================================== -->
<!-- set global properties for build -->
<property name="basedir" value="." />
<property name="lib" value="${basedir}/lib" />
<property name="src" value="${basedir}/src" />
<property name="bin" value="${basedir}/bin" />
<property name="report-dir" value="${basedir}/Test-Report" />
<property name="testng-report-dir" value="${report-dir}/TestNGreport" />
<!-- ====== Set the classpath ==== -->
<path id="classpath">
<pathelement location="${bin}" />
<fileset dir="C:\WebDriver\Selenium">
<include name="*.jar" />
</fileset>
</path>
<!-- Delete directories -->
<target name="delete-dir">
<delete dir="${bin}" />
<delete dir="${report-dir}" />
</target>
<!-- Creating directories -->
<target name="create" depends="delete-dir">
<mkdir dir="${bin}" />
<mkdir dir="${report-dir}" />
</target>
<!-- Compile the java code from ${src} into ${bin} -->
<target name="compile" depends="create">
<javac srcdir="${src}" classpathref="classpath" includeAntRuntime="No" destdir="${bin}" />
<echo> /* Compiled Directory Classes */ </echo>
</target>
<!-- Runs the file and generates Reportng report for TestNG-->
<taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="classpath" />
<target name="testng-execution" depends="compile">
<mkdir dir="${testng-report-dir}" />
<testng outputdir="${testng-report-dir}" classpathref="classpath" useDefaultListeners="true">
<xmlfileset dir="${basedir}" includes="testng.xml" />
</testng>
</target>
答案 0 :(得分:0)
Eclipse使用工作空间,Jenkins使用工作空间(在我们的例子中,TFS也使用工作空间)。它们不是同一件事。 (您的查询缺少一些权威性回答的细节,有些假设已经做出)
您的build.xml脚本将BASEDIR设置为“。”或工作目录。对于Jenkins的工作,如下所示 - 请参阅Administering Jenkins:
JENKINS_HOME
+- workspace (working directory for the version control system)
+- [JOBNAME] (sub directory for each job)
在您的情况下,JENKINS_HOME\workspace\[JOBNAME]
为C:\Program Files (x86)\Jenkins\Work space\job1
。
我的钱不是你的Eclipse工作区映射到的地方。
我会提出以下建议:
开发代码并在Eclipse IDE中对其进行测试。如果满意,请提交您的版本控制系统(VCS)。
设置Jenkins将代码从VCS中提取到作业的本地工作区并在那里构建。由于它与您的工作副本是分开的,因此它有助于隔离更改并确保您已将所有内容提交到源代码控制,因此您的构建来自一个可知的,可重现的源。
将JEKNINS_HOME设置为C:\Program Files ...
以外的位置;将数据(如源文件和构建版本)放置在安装二进制文件的某个位置是不好的做法。很多商品的理由,包括安全性,更容易的空间管理等。
选择合适的位置并设置主服务器的目录配置(Jenkins |管理Jenkins |配置系统;前3个值)
如果在您的节点配置(Jenkins |管理Jenkins |管理节点| Configure =&gt;远程根目录)中使用distributed builds(主/节点)到适当的位置