|
@@ -45,8 +45,8 @@ function getLatestVersion() {
|
|
return new Promise((resolve, reject) => {
|
|
return new Promise((resolve, reject) => {
|
|
return exec('git describe --tags `git rev-list --tags --max-count=1`', (err, stdout, stderr) => {
|
|
return exec('git describe --tags `git rev-list --tags --max-count=1`', (err, stdout, stderr) => {
|
|
if (err) {
|
|
if (err) {
|
|
- console.error('获取版本号失败:', err)
|
|
|
|
reject()
|
|
reject()
|
|
|
|
+ return console.error('获取版本号失败:', err)
|
|
}
|
|
}
|
|
console.log('最新版本号:', stdout)
|
|
console.log('最新版本号:', stdout)
|
|
resolve(stdout.trim())
|
|
resolve(stdout.trim())
|
|
@@ -72,13 +72,12 @@ function suggestNextVersion(latestVersion) {
|
|
* @param {*} version
|
|
* @param {*} version
|
|
*/
|
|
*/
|
|
function createNewTag(version) {
|
|
function createNewTag(version) {
|
|
- exec(`git tag -a ${version} -m "Release version ${version}"`, (err) => {
|
|
|
|
|
|
+ exec(`git tag -a ${version} -m "Release version ${version}" && git push origin ${version}`, (err) => {
|
|
if (err) {
|
|
if (err) {
|
|
- console.error(err)
|
|
|
|
- } else {
|
|
|
|
- getLatestVersion()
|
|
|
|
- console.log(`Tag ${version} created successfully.`)
|
|
|
|
|
|
+ return console.error(err)
|
|
}
|
|
}
|
|
|
|
+ console.log(`Tag ${version} created successfully.`)
|
|
|
|
+ getLatestVersion()
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
@@ -100,11 +99,11 @@ function revertTag(version) {
|
|
function autoTagVersion() {
|
|
function autoTagVersion() {
|
|
getLatestVersion().then((latestVersion) => {
|
|
getLatestVersion().then((latestVersion) => {
|
|
const nextVersion = 'v' + suggestNextVersion(latestVersion)
|
|
const nextVersion = 'v' + suggestNextVersion(latestVersion)
|
|
- createNewTag(nextVersion)
|
|
|
|
const content = readFileSync(packageFile, 'utf-8')
|
|
const content = readFileSync(packageFile, 'utf-8')
|
|
const packageInfo = JSON.parse(content)
|
|
const packageInfo = JSON.parse(content)
|
|
packageInfo['version'] = nextVersion
|
|
packageInfo['version'] = nextVersion
|
|
packageInfo['updateTime'] = dayjs().format('YYYY-MM-DD HH:mm:ss')
|
|
packageInfo['updateTime'] = dayjs().format('YYYY-MM-DD HH:mm:ss')
|
|
|
|
+ // 写入文件
|
|
writeJson(packageInfo, packageFile)
|
|
writeJson(packageInfo, packageFile)
|
|
writeJson(
|
|
writeJson(
|
|
{
|
|
{
|
|
@@ -113,12 +112,15 @@ function autoTagVersion() {
|
|
},
|
|
},
|
|
versionFile
|
|
versionFile
|
|
)
|
|
)
|
|
- })
|
|
|
|
- exec(`git commit -m "setTag ${nextVersion}"`, (err, stdout, stderr) => {
|
|
|
|
- console.log(err, stdout, stderr)
|
|
|
|
- if (err) {
|
|
|
|
- console.error('获取版本号失败:', err)
|
|
|
|
- }
|
|
|
|
- console.log('最新版本号:', stdout)
|
|
|
|
|
|
+ // 提交代码
|
|
|
|
+ exec(`git add . && git commit -m "setTag ${nextVersion}" && git push`, (err, stdout, stderr) => {
|
|
|
|
+ console.log(err, stdout, stderr)
|
|
|
|
+ if (err) {
|
|
|
|
+ return console.error('代码提交失败')
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 设置tag
|
|
|
|
+ createNewTag(nextVersion)
|
|
|
|
+ })
|
|
})
|
|
})
|
|
}
|
|
}
|