我正在尝试配置我的Jenkinsfile,以便我的主jenkins进入远程ec2服务器并在远程服务器上运行命令。到目前为止,我将我的主jenkins服务器公钥添加到远程ec2服务器的authorized_keys列表中,并且我能够将ssh添加到远程服务器中。我的Jenkinsfile的相关部分:
echo "===> about to SSH into the dev environment.."
sh '''#!/bin/bash
echo "===> in bash script now"
我的情况是,我有许多进程应该(或多或少)在不同的远程主机上同时启动。生成所有远程进程的主脚本应该等待所有远程进程完成,然后才能继续执行下一次分布式执行。到目前为止,我尝试的方法(在Ubuntu Server 12.04上没有成功,/bin/sh指向/bin/bash)是:
#!/bin/bash
for run_input in run1.data run2.data ; do
for i in `seq 0 10` ; do
ssh node$i "/path/to/bin $run_input /path/to/node$i.config" &
我想在远程主机上调用Perl子程序。怎么做呢?
我想做的是(这不起作用):
my $sshCmd = "ssh";
my var1="ABC";
&sshToUpdateSim;
sub simUpdate
{
$var1="32";
print "inside sub, $var1 is var1\n";
}
sub sshToUpdateSim
{
system (" $sshCmd machinewin10 \"simUpdate() \""); ##
我一直在使用JDBC和本地Postgres DB,使用Postgres copy命令将CSV文件中的数据复制到数据库中。我使用Java将现有的CSV文件解析为与数据库中的表匹配的CSV格式。然后,我将解析后的CSV保存到我的本地磁盘。然后,我让JDBC使用解析后的CSV向我的本地DB执行一个复制命令。一切都按预期运行。现在,我正在尝试使用JDBC在远程服务器上的Postgres DB上执行相同的过程。但是,当JDBC尝试执行我得到的副本时,
org.postgresql.util.PSQLException: ERROR: could not open file "C:\data\da
我已经创建了一个类似下面的管道,请注意,我在源代码存储库中有脚本文件,即"backup_grafana.sh“和"gitPush.sh”,其中存在Jenkinsfile。但由于以下错误,我无法执行该脚本:-
/home/jenkins/workspace/grafana-backup@tmp/durable-52495dad/script.sh:
line 1: backup_grafana.sh: not found
请注意,我在pod中的kubernetes上运行jenkins master。因此,复制错误提示的脚本文件是不可能的,因为pod可能会被销毁并动态重新创建(在