如何在jenkins中使用file参数

Pra*_*pta 12 jenkins

我在jenkins中执行参数化构建以计算否.文件中有1个文件参数的行.它的文件位置是pqr.脚本文件的名称linecount.sh保存在远程服务器上.当我尝试使用命令sh linecount.sh文件名执行它时,它完全可以从jenkins完成.但是当我从参数中删除文件名并执行与参数化构建相同的脚本时,它在控制台上显示以下错误:

Started by user Prasoon Gupta
[EnvInject] - Loading node environment variables.
Building in workspace users/Prasoon/sample_programs
Copying file to pqr
[sample_programs] $ /bin/sh -xe /tmp/hudson3529902665956638862.sh
+ sh linecount.sh
PRASOON4
linecount.sh: line 15: parameterBuild.txt: No such file or directory
Build step 'Execute shell' marked build as failure
Finished: FAILURE
Run Code Online (Sandbox Code Playgroud)

parameterBuild.txt从本地机器上传文件().为什么会出现此错误?

我怀疑是在shell脚本中我使用了参数$1.当我将文件作为参数时,如何引用它.

Jon*_*n S 20

上传的文件将不会保留与本地计算机上的名称相同的名称.它将以File location文件参数设置中指定的参数命名: 在此输入图像描述 在这个例子中,我将获得一个file.txt在我的工作区根目录中调用的文件,无论我在计算机上调用它.所以,如果我现在构建我的作业并在参数对话框中输入以下内容(请注意我的本地文件名是table.html):

在此输入图像描述

然后我在日志中得到以下内容(我有一个构建步骤ls -l):

Building on master in workspace /var/lib/jenkins/workspace/fs
Copying file to file.txt
[fs] $ /bin/sh -xe /tmp/hudson845437350739055843.sh
+ ls -l
total 4
-rw-r--r-- 1 jenkins jenkins 292 Feb 15 07:23 file.txt
Finished: SUCCESS
Run Code Online (Sandbox Code Playgroud)

请注意,table.html现在调用file.txt,例如我输入的内容File location.

所以在你的情况下命令应该是:

sh linecount.sh pqr
Run Code Online (Sandbox Code Playgroud)