如何查询Jenkins运行所在的操作系统?含Azure虚拟机部署场景
Jenkins操作系统查询指南
1. 查询Jenkins运行所在的操作系统名称
有几种简单实用的方法可以搞定这个需求:
- 通过Jenkins UI直接查看:
打开Jenkins首页,拉到左下角找到「系统信息」(System Information)入口点进去,在页面里搜索os.name这个属性,对应的value就是Jenkins运行的操作系统名称啦。 - 用Groovy脚本控制台查询:
进入Jenkins的「脚本控制台」(Manage Jenkins > Script Console),输入下面的代码然后点击运行:
控制台会直接输出操作系统名称,比如println System.getProperty("os.name")Linux或者Windows 10。 - 在Pipeline中查询:
如果是在Jenkins Pipeline里需要获取OS信息,可以用Groovy的系统属性,或者直接调用系统命令:pipeline { agent any stages { stage('Check OS') { steps { script { // 方法1:用Groovy系统属性 def osName = System.getProperty("os.name") echo "Jenkins running on: ${osName}" // 方法2:调用系统命令(区分Linux/Windows) if (isUnix()) { sh 'uname -s' } else { bat 'ver' } } } } } }
2. 若Jenkins安装在Azure虚拟机上,从Jenkins内部查询主机操作系统
其实大部分通用方法和上面一致,但Azure VM有个专属的元数据服务可以用来精准查询主机OS信息,给你补充这个实用方法:
- 通过Azure实例元数据服务查询:
Azure的每个VM都可以访问本地的元数据服务,不需要额外权限(默认允许)。- 如果是Linux系统的Azure VM,在Jenkins的shell步骤里执行:
curl -H Metadata:true "http://169.254.169.254/metadata/instance/compute/osName?api-version=2021-02-01&format=text" - 如果是Windows系统的Azure VM,在Jenkins的PowerShell步骤里执行:
Invoke-RestMethod -Headers @{"Metadata"="true"} -Uri "http://169.254.169.254/metadata/instance/compute/osName?api-version=2021-02-01&format=text" -Method Get
Ubuntu 22.04 LTS或者Windows Server 2022 Datacenter。 - 如果是Linux系统的Azure VM,在Jenkins的shell步骤里执行:
当然啦,你也可以继续用第一个问题里的UI查看、Groovy脚本这些通用方法,完全没问题~
内容的提问来源于stack exchange,提问作者Anu699
相关产品推荐
相关产品推荐

