powershell - jenkins 是否以某种方式使用 -noprofile 参数运行 powershell 步骤?
问题描述
我想自定义 jenkins 运行的 PS 会话的配置文件
我将我的个人资料复制到几乎所有可能的位置,并在管道中运行它以确认它在那里并且其内容是正确的:
powershell 'cat $PsHome\\Profile.ps1'
在配置文件中,我设置了一些别名和环境变量
在 powershell 步骤中,如果我检查别名列表和环境变量,我看不到我的配置文件包含的更改:
powershell 'ls alias:'
powershell 'ls env:'
它看起来不像詹金斯正在运行带有-noprofile的powershell:https ://github.com/jenkinsci/powershell-plugin/blob/d3e8aec4074bdfa5f5032c71a3e6ba4a3c6c8340/src/main/java/hudson/plugins/powershell/PowerShell.java
为什么我的个人资料没有被执行?
解决方案
正如您的帖子所假设的那样,管道作业中的powershell
命令并非来自 PowerShell 插件。
PowerShell 插件仅用于在 Freestyle 作业上添加执行 PowerShell 步骤,不支持管道。
这个插件支持管道吗?不,但是 Pipeline: Nodes and Processes 插件提供了一个 powershell 步骤
他们遇到了相反的情况,配置文件总是被加载,问题是如何在需要时避免它们。最近合并了一个新的 PR 以集成一个开关来选择是否应加载配置文件
管道作业的 powershell 实现来自管道:节点和流程插件(又名工作流-持久任务-步骤-插件),目前,它不包含启用禁用加载配置文件的参数。
相关文件在此处和此处,以防您了解它们并使用附加参数创建新 PR。
GitLab 中的项目似乎禁用了问题,因此无法报告/请求。
推荐阅读
- python - 在特定类之前找到以前的方法来查找 url
- r - Excel/Python/R 中的数据聚合
- xml - 远程主机上的 ARR 管理和配置
- azure - 恢复 Azure Durable 函数终止 uri
- javascript - 为什么简单地声明(而不是初始化)隐式变量会产生 ReferenceError?
- kubernetes - nfs-server-provisioner 指定卷名
- java - Maven:多模块顺序
- javascript - 如何正确传递附加到 HTML 元素的函数变量、对象、数字等?
- android - 列中的行 - 行中的小部件是不可见的
- javascript - 带有条纹元素的网站格式不起作用