【问题标题】:How to rename 'dist' folder with version number of package.json automatically in Jenkinsfile如何在 Jenkinsfile 中使用 package.json 的版本号自动重命名“dist”文件夹
【发布时间】:2022-01-12 06:15:00
【问题描述】:

这是我的 package.json 文件

  "name": "@company/sdk",
  "version": "1.0.15",
  "description": "Made with create-react-library",
  "author": "me",
  "license": "UNLICENSED",
  "repository": "https://gitlab.com/company/sdk",
  "main": "dist/index.js",
}

这是 Jenkinsfile 中的一个步骤

      steps {
         withEnv(["TOKEN=${NPM_REGISTRY_TOKEN}"]) {
             sh 'echo "//registry.npmjs.org/:_authToken=${TOKEN}" >> ~/.npmrc'
             sh 'npm publish'               
             sh 'mv /var/lib/jenkins/workspace/sdk-js_master/dist /var/lib/jenkins/workspace/sdk-js_master/1.0.15'
     }
   }

package.json 中的每次版本号都会改变。如何自动重命名具有相同版本号 package.json 的“dist”文件夹。现在我手动将“dist”文件夹重命名为版本号,如上面的 Jenkinsfile 所示。例如,如果 package.json 版本号是 1.0.16,那么出于部署原因,我应该将 dist 文件夹自动重命名为 1.0.16。我尝试使用 sed 和 awk commad 但没有奏效。谁能帮忙解决这个复杂的问题。

【问题讨论】:

    标签: node.js shell jenkins automation


    【解决方案1】:

    问题由脚本解决

    #!/bin/bash
    package_json_version=$(grep version package.json | cut -d '"' -f4)
    echo $package_json_version
    mv -v dist "$package_json_version"
    mv /var/lib/jenkins/workspace/sdk-js_master/dist /var/www/assets/sdk-js_master/v$package_json_version
    

    【讨论】:

      猜你喜欢
      • 2021-12-17
      • 2017-08-21
      • 2017-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      • 1970-01-01
      相关资源
      最近更新 更多