首页 > 解决方案 > 如何在构建应用程序之前在 Jenkins 中编辑文件?

问题描述

目前在我的 Jenkins 管道脚本中,我有这个:

stage ('get_repo'){

checkout([$class: 'GitSCM', 
          branches: [[name: '*/master']], 
          doGenerateSubmoduleConfigurations: false, 
          extensions: [], 
          submoduleCfg: [], 
          userRemoteConfigs: [[credentialsId: 'git', url: 'git@bitbucket.org:myrepo/myrepo.git']]])

}
stage ('build'){
    bat "npm install @angular-devkit/build-angular"
    bat 'C:\\Users\\user1\AppData\\Roaming\\npm\\ng.cmd build --aot'
}
stage ('create artifact'){
 archiveArtifacts 'dist//**'
 }}}

我想要实现的是:

  1. 存储库有一个名为 env.ts 的文件,但它有一些静态 IP 地址。静态 IP 地址仅适用于我们的其中一个分支机构。我希望能够在运行下一阶段(即构建阶段)之前编辑该 env.ts 文件以包含该构建的正确 IP 地址。我在 windows jenkins 节点上运行它。文件内容是这样的:

export const environment = { apiServer: ' http://1.1.1.1:80 ', 生产: true, paginationLimit: 10, };

我想将 apiServer 的值从 1.1.1.1 更改为 2.2.2.2

  1. 更改文件内容后,我希望将文件重命名为 environment.ts

我如何实现这一目标?

先感谢您!

标签: jenkins

解决方案


如果您正在使用 Jenkins,并且它在 Windows 机器上。您可以使用 PowerShell 更改文件内容并重命名

在这个例子中,

(Get-Content C:\proj\Jenkins\workspace\QA\env.ts).replace('1.1.1.1', '2.2.2.2') | Set-Content C:\proj\Jenkins\workspace\QA\env.ts
Rename-Item -Path "C:\proj\Jenkins\workspace\QA\env.ts" -NewName "environment.ts"

谢谢, xyzcoder.github.io


推荐阅读