如何在Azure Pipeline模板中同时替换仓库名的横杠与点为下划线
问题:Azure Pipeline模板中同时替换仓库名中的横杠和点为下划线
在Azure Pipeline模板中,当前已实现将参数environment.repoName中的横杠-替换为下划线_,现在需要同时把该仓库名里的点.也替换为下划线_,请问如何实现?
原模板代码
- ${{ each environment in parameters.environmentList }}: - job: checkmarxScan_${{ replace(environment.repoName, '-', '_') }} workspace: clean: all steps: - checkout: none - powershell : #Code#
原主管道参数配置代码
name: $(BuildID) trigger: none pool: Azure pipelines jobs: - template: checkmarx-scan.yml parameters: environmentList: - repoName: Repo.name, repo-name branch: develop scaExclusion: sastFolderExclusion: sastFileExclusion: emailId:
解决方案
通过嵌套replace()函数即可实现同时替换两种字符:先替换横杠为下划线,再将替换结果中的点替换为下划线。
修改后的模板关键代码如下:
- ${{ each environment in parameters.environmentList }}: - job: checkmarxScan_${{ replace(replace(environment.repoName, '-', '_'), '.', '_') }} workspace: clean: all steps: - checkout: none - powershell : #Code#
说明
Azure Pipeline的表达式支持函数嵌套执行,内层replace(environment.repoName, '-', '_')先完成横杠到下划线的替换,外层replace(..., '.', '_')再对结果中的点进行替换,最终得到同时替换两种字符的仓库名。
内容的提问来源于stack exchange,提问作者Lakshay Kashyap
相关产品推荐
相关产品推荐

