我需要package.json通過 jenkins 自動升級版本。我們有將通過 Jenkins 構建的節點專案,一切都很好,但是當我們每次都想升級時version,package.json我們需要手動在 package.json 中進行更改,然后通過 GitLab 推送到 Jenkins。
有沒有辦法自動化這一步?
這是詹金斯檔案
pipeline {
agent any
stages {
stage('Build') {
steps {
checkout([$class: 'GitSCM', branches: [[name: 'master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'ID', url: 'https://gitlab.com/company/website.git']]])
sh "pwd"
sh "npm install"
sh "npm run build"
}
}
stage('deploy') {
steps {
sh "scp -v -o StrictHostKeyChecking=no -r /var/lib/jenkins/workspace/project/build/* ubuntu@prod:/var/www/project/"
}
}
}
}
這是 package.json 檔案
"name": "my-project",
"version": "1.1.24",
"description": "web application",
"main": "index.js",
"repository": "https://gitlab.com/",
"private": true,
uj5u.com熱心網友回復:
問題已通過 linux 中的 awk 命令列工具解決
#!/usr/bin/awk
awk -F'["]' -v OFS='"' '/"version":/{split($4,a,".");$4=a[1] 1"."a[2]"."a[3] 1};1' ./package.json > ./package2.json && mv ./package2.json ./package.json
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/352064.html
