diff --git a/.beagle.yml b/.beagle.yml index b4519f8455abfea4bbf905c93999800f48fcdd86..bd4d9252eca22398672a639ac9fdd87901897a86 100644 --- a/.beagle.yml +++ b/.beagle.yml @@ -59,7 +59,7 @@ steps: # 定义流水线执行步骤,这些步骤将顺序执行 base: registry.cn-qingdao.aliyuncs.com/wod/nginx:1.19.5-amd64 # 基础镜像 dockerfile: .beagle/dockerfile repo: smart-operation/so-manage-ui # 生成镜像的 分组/名称 - version: "3.0.0" # 版本号 + version: "v3.0.1" # 版本号 channel: amd64 # 后缀 args: "TARGETOS=linux,TARGETARCH=amd64" # 不同架构的构建参数 registry: hub.wodcloud.com # 私有仓库地址 @@ -67,6 +67,19 @@ steps: # 定义流水线执行步骤,这些步骤将顺序执行 from_secret: REGISTRY_USER registry_password: # 密码 from_secret: REGISTRY_PASSWORD + + - name: deploy-amd64 + image: registry.cn-qingdao.aliyuncs.com/wod/devops-kubernetes:1.0 + settings: + namespace: apaas-v5 + deployment: apaas-portal-ui + container: apaas-portal-ui + image: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0.1-amd64 + environment: + KUBERNETES_SERVER: + from_secret: KUBERNETES_SERVER + KUBERNETES_TOKEN: + from_secret: KUBERNETES_TOKEN - name: docker-arm64 image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker:1.0 @@ -77,7 +90,7 @@ steps: # 定义流水线执行步骤,这些步骤将顺序执行 base: registry.cn-qingdao.aliyuncs.com/wod/nginx:1.19.5-arm64 dockerfile: .beagle/dockerfile repo: smart-operation/so-manage-ui - version: "3.0.0" + version: "v3.0.1" channel: arm64 args: "TARGETOS=linux,TARGETARCH=arm64" registry: hub.wodcloud.com @@ -95,7 +108,7 @@ steps: # 定义流水线执行步骤,这些步骤将顺序执行 base: registry.cn-qingdao.aliyuncs.com/wod/nginx:1.19.5-ppc64le dockerfile: .beagle/dockerfile repo: smart-operation/so-manage-ui - version: "3.0.0" + version: "v3.0.1" channel: ppc64le args: "TARGETOS=linux,TARGETARCH=ppc64le" registry: hub.wodcloud.com @@ -113,7 +126,7 @@ steps: # 定义流水线执行步骤,这些步骤将顺序执行 base: registry.cn-qingdao.aliyuncs.com/wod/nginx:1.19.5-mips64le dockerfile: .beagle/dockerfile repo: smart-operation/so-manage-ui - version: "3.0.0" + version: "v3.0.1" channel: mips64le args: "TARGETOS=linux,TARGETARCH=mips64le" registry: hub.wodcloud.com @@ -126,8 +139,8 @@ steps: # 定义流水线执行步骤,这些步骤将顺序执行 image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-manifest:1.0 settings: platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/mips64le - template: hub.wodcloud.com/smart-operation/so-manage-ui:3.0.0-ARCH - target: hub.wodcloud.com/smart-operation/so-manage-ui:3.0.0 + template: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0.1-ARCH + target: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0.1 username: from_secret: REGISTRY_USER password: @@ -158,8 +171,8 @@ steps: REGISTRY_PASSWORD: from_secret: REGISTRY_PASSWORD settings: - source: hub.wodcloud.com/smart-operation/so-manage-ui:3.0.0-amd64 - target: hub.wodcloud.com/smart-operation/so-manage-ui:3.0-amd64 + source: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0.1-amd64 + target: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0-amd64 registry: hub.wodcloud.com - name: harbor-arm64 @@ -176,8 +189,8 @@ steps: REGISTRY_PASSWORD: from_secret: REGISTRY_PASSWORD settings: - source: hub.wodcloud.com/smart-operation/so-manage-ui:3.0.0-arm64 - target: hub.wodcloud.com/smart-operation/so-manage-ui:3.0-arm64 + source: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0.1-arm64 + target: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0-arm64 registry: hub.wodcloud.com - name: harbor-ppc64le @@ -194,8 +207,8 @@ steps: REGISTRY_PASSWORD: from_secret: REGISTRY_PASSWORD settings: - source: hub.wodcloud.com/smart-operation/so-manage-ui:3.0.0-ppc64le - target: hub.wodcloud.com/smart-operation/so-manage-ui:3.0-ppc64le + source: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0.1-ppc64le + target: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0-ppc64le registry: hub.wodcloud.com - name: harbor-mips64le @@ -212,16 +225,16 @@ steps: REGISTRY_PASSWORD: from_secret: REGISTRY_PASSWORD settings: - source: hub.wodcloud.com/smart-operation/so-manage-ui:3.0.0-mips64le - target: hub.wodcloud.com/smart-operation/so-manage-ui:3.0-mips64le + source: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0.1-mips64le + target: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0-mips64le registry: hub.wodcloud.com - name: harbor-arch image: registry.cn-qingdao.aliyuncs.com/wod/devops-docker-manifest:1.0 settings: platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/mips64le - template: hub.wodcloud.com/smart-operation/so-manage-ui:3.0-ARCH - target: hub.wodcloud.com/smart-operation/so-manage-ui:3.0 + template: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0-ARCH + target: hub.wodcloud.com/smart-operation/so-manage-ui:v3.0 username: from_secret: REGISTRY_USER password: diff --git a/package.json b/package.json index a94d3ff2a973a558263a0359ecc2aba6c35d8f5c..ab63df257027379eae765c8827cd7ce4da2737a3 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,9 @@ { - "version": "5.0.15", + "version": "3.0.1", "scripts": { "dev": "vite", "build": "vite build", + "version": "node version.js", "serve": "vite preview" }, "dependencies": { @@ -32,4 +33,4 @@ "@vue/compiler-sfc": "^3.2.31", "vite": "^3.0.0" } -} +} \ No newline at end of file diff --git a/version.js b/version.js new file mode 100644 index 0000000000000000000000000000000000000000..0abaad8f5d658d17f5323f0fdd147e74aae8d79e --- /dev/null +++ b/version.js @@ -0,0 +1,82 @@ +/** + * params + * input: node version newVersion + * output:process.argv == ['','','to'] + */ +const path = require('path'); +const fs = require('fs'); + +console.log(process.argv) +const argv = process.argv + +// 获取命令行参数中的新版本号,并过滤v字头 +let newVersion = '' +if(argv[2].includes('v')){ + newVersion = process.argv[2].replace(/^v/, '') +}else if(argv[2].includes('V')){ + newVersion = argv[2].replace(/^V/, '') +}else{ + newVersion = argv[2] +} + +if (!newVersion) { + console.log('请传入新版本号,版本号遵循semver规范 .eg: 1.0.0, 1.0.1, 1.1.0'); + process.exit(1); +} + +// 获取当前命令行上下文路径 + +const currentDirectory = process.cwd(); + +// 获取 package.json 文件中的版本号 +const packageJsonPath = path.join(currentDirectory, 'package.json'); +const packageJsonContent = fs.readFileSync(packageJsonPath, 'utf8'); +const packageJson = JSON.parse(packageJsonContent); +const currentVersion = packageJson.version; + +packageJson.version = newVersion; + +//获取.beagle.yml及其版本号,并进行替换 +const filePath = path.join(__dirname, '.beagle.yml'); + +fs.readFile(filePath, 'utf8', function (err, data) { + if (err) { + return console.log(err); + } + +let from = 'v'+currentVersion; +let to = '' +if(argv[2].includes('v')){ + to = argv[2] +}else if(argv[2].includes('V')){ + to = argv[2].replace(/^V/, 'v') +}else{ + to = 'v'+argv[2] +} +let re = new RegExp(from,"g"); + +let result = data.replace(re, to); + +//有大版本号的输入则替换大版本号 +let fromArr = from.split('.') +let toArr = to.split('.') +//前2个相等则是小版本迭代 +if(fromArr[0]==toArr[0]&&fromArr[1]==toArr[1]){ +}else{ + let shortFrom = ":"+fromArr[0]+'.'+fromArr[1]; + let shortTo = ":"+toArr[0]+'.'+toArr[1]; + let reShort = new RegExp(shortFrom,"g"); + result = result.replace(reShort, shortTo); +} + + //更新yml文件中的版本号 + fs.writeFile(filePath, result, 'utf8', function (err) { + if (err) return console.log(err); + }); + + // 更新 package.json 文件中的版本号 + fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2)); + + + console.log(`版本号已从 ${currentVersion} 更新为 ${newVersion}`); +});