如何在Azure DevOps Pipeline自托管Windows代理中安装Liquibase
问题1:每次触发流水线是否会重复安装Liquibase
是否重复执行安装流程取决于你使用的代理类型:
- 若使用微软托管代理:每次流水线运行都会分配全新的隔离环境,运行结束后环境自动销毁,因此你配置的Liquibase安装步骤每次触发都会执行。
- 若使用自托管代理:代理运行环境是持久化的,你可以在安装步骤中补充Liquibase存在性校验逻辑,检测到已安装时直接跳过安装步骤,就不会重复执行安装流程。
问题2:如何在代理中配置Liquibase运行环境
你无需手动提前将压缩包上传到代理,直接在流水线YAML中新增自动下载配置的步骤即可,以下是Windows代理场景的配置示例:
steps: - powershell: | # 定义要使用的Liquibase版本 $liquibaseVersion = "你需要使用的版本号,如4.24.0" $downloadUrl = "对应版本的Liquibase官方压缩包下载地址" $outputPath = "$(Build.ArtifactStagingDirectory)/liquibase.zip" # 下载Liquibase压缩包 Invoke-WebRequest -Uri $downloadUrl -OutFile $outputPath # 解压到本地固定目录 Expand-Archive -Path $outputPath -DestinationPath "C:\liquibase" -Force # 将Liquibase路径加入当前流水线会话的环境变量 echo "##vso[task.prependpath]C:\liquibase" displayName: "安装配置Liquibase" # 后续步骤可直接调用liquibase命令 - script: liquibase --version displayName: "验证Liquibase安装是否成功"
如果你使用的是自托管代理,也可以提前在代理机器上手动下载解压Liquibase压缩包,将解压后的路径添加到系统环境变量中,后续流水线不需要再添加安装步骤,可直接调用liquibase命令。
内容的提问来源于stack exchange,提问作者mroexbe
相关产品推荐
相关产品推荐

