【发布时间】:2020-05-02 03:49:36
【问题描述】:
我需要从 Web URL 下载一个文件并膨胀到无法访问 Internet 的远程服务器。
- Rundeck 将文件下载到本地路径 wget,然后推送文件 使用 SSH 到目标服务器
- Rundeck 在远程节点上执行脚本以膨胀使用上述步骤复制的文件,并 执行其他家务活动,(它是一个 bash shell 脚本)
我对使用 Rundeck 知之甚少。
第一步,我搞定了。文件从 URL 下载到 rundeck 并推送到目标服务器。
[ -d "/apps/support/dump/CNRLS2" ] && rm -r "/apps/support/dump/CNRLS2"
echo "Creating workspace folder"
mkdir -p /apps/support/dump/CNRLS2
cd /apps/support/dump/CNRLS2
export ArtifactURL="https://artifact.dummy.dummyurl.com/artifactory/generic-release/XRSL/CNRLS/develop/113/RLAWESOME-1379.tar.gz"
echo "Downloading Artifact at $ArtifactURL from Artifactory"
wget -q $ArtifactURL --no-check-certificate
export packageName=$(echo "${ArtifactURL##*/}")
echo $packageName
scp -r /apps/support/dump/CNRLS2/*.* yurtdxx67a@11.28.293.88:/xmodules/fixes/migreq/
这将我的包推送到远程服务器路径/xmodules/fixes/migreq/
现在第二步
我正在运行一个内联 ansible 作为在目标节点上执行解包的下一步。 ansible 转到目标节点并调用 unpack.sh ,我无法将上一步中的 packageName 值传递给内联 ansible。
---
- hosts: "{{host_name}}"
remote_user: "{{run_user}}"
tasks:
- name: Unpack the package
shell: sh /home/yurtdxx67a/mig/unpack.sh "{{$packageName}}"
任何想法都会对我有很大帮助。
编辑:2020 年 2 月 12 日
在我的情况下,要替换的变量在“ansible-extra-param”内
<command>
<step-plugin type='com.batix.rundeck.plugins.AnsiblePlaybookInlineWorkflowStep'>
<configuration>
<entry key='ansible-become' value='false' />
<entry key='ansible-disable-limit' value='false' />
<entry key='ansible-extra-param' value='-i /tmp/workspace/CNRLS/hosts -e host_name=myhost -e run_user=${data.runUser} -e package_name=${data.packageName} --limit ${data.nodeIP} --ssh-extra-args='-o StrictHostKeyChecking=no' ' />
<entry key='ansible-playbook-inline' value='--- - hosts: "{{host_name}}" remote_user: "{{run_user}}" tasks: - name: Check for connectivity shell: sh /home/yurtdxx67a/mig/unpack.sh "{{package_name}}" ' />
</configuration>
</step-plugin>
</command>
我想使用这些变量。
run_user=${data.runUser} -e package_name=${data.packageName} --limit ${data.nodeIP}
这些变量是有价值的。当我显示 回声 ${data.packageName} ;回声 ${data.runUser} ;回声 ${data.nodeIP} ;
我不确定如何将这些变量用作“ansible-extra-param”参数的一部分
再次感谢您
谢谢。 德维加
【问题讨论】: