Windows环境下Rundeck社区版全局变量的正确设置方法
正确设置Rundeck全局变量供Windows PowerShell使用
一、服务器级全局变量(framework.properties配置)
- 找到Rundeck安装目录下的
etc\framework.properties文件(默认路径一般为C:\rundeck\etc\framework.properties) - 新增全局变量,格式必须为
framework.extra.[变量名]=[变量值],示例:framework.extra.MY_GLOBAL_VAR=MyWindowsRundeckVar - 必须重启Rundeck服务,Windows下可通过服务管理器重启
rundeckd服务,或用PowerShell命令:Restart-Service rundeckd
二、界面级全局变量(无需重启服务)
如果不想修改配置文件,直接在Rundeck后台操作:
- 登录Rundeck后台,左侧菜单选择「系统设置」→「全局变量」
- 点击「添加变量」,输入变量名(比如
MY_GLOBAL_VAR)和对应值,保存后立即生效
三、PowerShell脚本中正确引用变量的方法
以下两种方式均可正常读取全局变量:
- 读取环境变量:Rundeck会将全局变量注入到作业执行环境,PowerShell通过
$env:前缀读取:Write-Host "全局变量内容:$env:MY_GLOBAL_VAR" - Rundeck占位符替换:在作业脚本中使用
${globals.变量名},Rundeck执行前会自动替换为实际值:Write-Host "全局变量内容:${globals.MY_GLOBAL_VAR}"
四、无输出问题排查点
- 若用
framework.properties配置后未重启Rundeck,变量不会加载生效 - 脚本未添加输出命令(如
Write-Host/Write-Output),即使获取到变量值也无法显示 - 变量名拼写错误:配置文件中的
framework.extra.是前缀,脚本引用时无需携带;界面设置的变量名区分大小写,需严格对应
内容的提问来源于stack exchange,提问作者aristosv
相关产品推荐
相关产品推荐

