我正在编写管道脚本,以便在我们的项目中实现持续集成流程.这个过程是让用户在下面的命名规则,具体的分支做的工作test_id1,test_id2等等.一旦这些都推到远程回购,詹金斯踢入,它会检查出的分支与测试*并执行构建过程的其余部分.
根据我的初衷,我编写了如下管道脚本:stage'build'
node {
git url: 'git@hd1:testing', branch: test*
sh "pwd"
sh "cat simple.csh"
sh "echo $PATH"
sh "csh simple.csh"
echo("end of pipeline")
}
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我试过"测试*","测试*".
Jenkins解决了以下错误:
Caused by: hudson.plugins.git.GitException: Command "git checkout -b test* 264dc398372cba41c026568bd764d2656ebfc511" returned status code 128:
Run Code Online (Sandbox Code Playgroud)
所以,问题是我是否正朝着正确的方向前进.我也查看了上面的错误,显然,使用通配符的git checkout是不能达到目的的.那么,以下方法是否有效:
1)像往常一样检查git master 2)检查名称test*是否存在任何新分支3)如果是,请检查分支,然后执行其余的构建
需要一些指示......
我有一个简单的管道作业:1)签出一个git分支2)cd到一个运行目录3)执行一个现有的脚本来运行测试
此时管道脚本本身非常简单:
stage 'build'
node {
git url: 'git@hd1:nip_5g_fpga', branch: "Phase_UL_1a"
sh "pwd"
sh "echo $PATH"
sh "ls"
dir ('nip_fpga/verification/src/UE/env/top_level/run') {
sh "source vcs_bash.sh 1"
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我收到以下错误(仅显示控制台的一部分):
Running
in /var/lib/jenkins/workspace/nip_regression_nightly/nip_fpga/verification/src/UE/env/top_level/run
[Pipeline] {
[Pipeline] sh
[run] Running shell script
+ source vcs_bash.sh 1
/var/lib/jenkins/workspace/nip_regression_nightly/nip_fpga/verification/src/UE/env/top_level/run@tmp/durable-c40e151e/script.sh: line 2: source: vcs_bash.sh: file not found
Run Code Online (Sandbox Code Playgroud)
我已经检查过vcs_bash.sh本身是否存在,但是它存在于.../top_level/run目录中而不在top_level/run@tmp目录中.所以,我很困惑如何解决这个问题.
另外,我不理解管道正在创建的tmp目录的概念
我在Octave中使用log2函数来计算简单数组的log2值.
>> x = [1:5]
x =
1 2 3 4 5
>> log2(x)
error: invalid use of script D:\All_Data\my_data\backup3\backup3\tech\DSP\log2.m in index expression
Run Code Online (Sandbox Code Playgroud)
我不确定为什么Octave在这种情况下躲避错误......
当我在 python 文件中导入一个模块时,我希望在执行导入模块的文件时执行导入的代码。
这是代码:
我在 test_2.py 文件中有几行简单的行:
x = 10
y = 20
c = x-y
print c
def func1():
return x+y
Run Code Online (Sandbox Code Playgroud)
这是在另一个文件 test_2_test.py 中导入的:
import test_2
x = test_2.func1()
print x
Run Code Online (Sandbox Code Playgroud)
这是我执行 test_2_test 时的输出:
%run "D:/Projects/Initiatives/machine learning/programs/test_2_test.py" 30
我无法弄清楚为什么不执行“print c”语句