fix: 容器升级增加忽略版本比较勾选 (#2500)

This commit is contained in:
ssongliu 2023-10-11 14:00:30 +08:00 committed by GitHub
parent 8f713c0eda
commit 9130d5d2c8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 1 deletions

View file

@ -555,6 +555,9 @@ const message = {
containerTerminal: 'Terminal', containerTerminal: 'Terminal',
upgradeHelper: 'This operation only supports upgrading container versions.', upgradeHelper: 'This operation only supports upgrading container versions.',
ignoreCompare: 'Force Upgrade',
ignoreCompareHelper:
'Skip the comparison between old and new versions, upgrade directly. This operation may result in service unavailability.',
upgradeWarning: 'The target version is lower than the original image version. Please try again!', upgradeWarning: 'The target version is lower than the original image version. Please try again!',
upgradeWarning2: upgradeWarning2:
'The upgrade operation requires rebuilding the container, and any non-persistent data will be lost. Do you want to continue?', 'The upgrade operation requires rebuilding the container, and any non-persistent data will be lost. Do you want to continue?',

View file

@ -541,6 +541,8 @@ const message = {
emptyUser: '為空時將使用容器默認的用戶登錄', emptyUser: '為空時將使用容器默認的用戶登錄',
upgradeHelper: '該操作僅支持容器版本升級', upgradeHelper: '該操作僅支持容器版本升級',
ignoreCompare: '強製升級',
ignoreCompareHelper: '跳過新老版本比較直接升級該操作可能導致服務不可用',
upgradeWarning: '當前目標版本低於原鏡像版本請重新輸入', upgradeWarning: '當前目標版本低於原鏡像版本請重新輸入',
upgradeWarning2: '升級操作需要重建容器任何未持久化的數據將會丟失是否繼續', upgradeWarning2: '升級操作需要重建容器任何未持久化的數據將會丟失是否繼續',
oldImage: '當前鏡像', oldImage: '當前鏡像',

View file

@ -541,6 +541,8 @@ const message = {
emptyUser: '为空时将使用容器默认的用户登录', emptyUser: '为空时将使用容器默认的用户登录',
upgradeHelper: '该操作仅支持容器版本升级', upgradeHelper: '该操作仅支持容器版本升级',
ignoreCompare: '强制升级',
ignoreCompareHelper: '跳过新老版本比较直接升级该操作可能导致服务不可用',
upgradeWarning: '当前目标版本低于原镜像版本请重新输入', upgradeWarning: '当前目标版本低于原镜像版本请重新输入',
upgradeWarning2: '升级操作需要重建容器任何未持久化的数据将会丢失是否继续', upgradeWarning2: '升级操作需要重建容器任何未持久化的数据将会丢失是否继续',
oldImage: '当前镜像', oldImage: '当前镜像',

View file

@ -38,6 +38,12 @@
<el-input v-model="form.newTag" :placeholder="$t('container.targetImageHelper')" /> <el-input v-model="form.newTag" :placeholder="$t('container.targetImageHelper')" />
<span class="input-help">{{ $t('container.upgradeHelper') }}</span> <span class="input-help">{{ $t('container.upgradeHelper') }}</span>
</el-form-item> </el-form-item>
<el-form-item prop="ignoreCompare">
<el-checkbox v-model="form.ignoreCompare">
{{ $t('container.ignoreCompare') }}
</el-checkbox>
<span class="input-help">{{ $t('container.ignoreCompareHelper') }}</span>
</el-form-item>
<el-form-item prop="forcePull"> <el-form-item prop="forcePull">
<el-checkbox v-model="form.forcePull"> <el-checkbox v-model="form.forcePull">
{{ $t('container.forcePull') }} {{ $t('container.forcePull') }}
@ -78,6 +84,8 @@ const form = reactive({
newTag: '', newTag: '',
fromApp: false, fromApp: false,
forcePull: false, forcePull: false,
ignoreCompare: false,
}); });
const formRef = ref<FormInstance>(); const formRef = ref<FormInstance>();
@ -96,6 +104,7 @@ const acceptParams = (props: DialogProps): void => {
form.oldTag = props.image.indexOf(':') !== -1 ? props.image.split(':')[1] : 'latest'; form.oldTag = props.image.indexOf(':') !== -1 ? props.image.split(':')[1] : 'latest';
form.newTag = form.oldTag; form.newTag = form.oldTag;
form.fromApp = props.fromApp; form.fromApp = props.fromApp;
form.ignoreCompare = false;
drawerVisible.value = true; drawerVisible.value = true;
}; };
const emit = defineEmits<{ (e: 'search'): void }>(); const emit = defineEmits<{ (e: 'search'): void }>();
@ -104,7 +113,7 @@ const onSubmit = async (formEl: FormInstance | undefined) => {
if (!formEl) return; if (!formEl) return;
formEl.validate(async (valid) => { formEl.validate(async (valid) => {
if (!valid) return; if (!valid) return;
if (!compareVersion(form.newTag, form.oldTag)) { if (!form.ignoreCompare && !compareVersion(form.newTag, form.oldTag)) {
MsgWarning(i18n.global.t('container.upgradeWarning')); MsgWarning(i18n.global.t('container.upgradeWarning'));
return; return;
} }