Commit bd8d3607 authored by 王晓铜's avatar 王晓铜

添加同步mongodb功能

parent 6ea13499
......@@ -187,3 +187,11 @@ export function mqDiff(queryInfo) {
params: queryInfo
})
}
// jenkins构建控制台信息获取
export function syncMongodb(queryInfo) {
return request({
url: 'k8s/sync/mongo',
method: 'get',
params: queryInfo
})
}
......@@ -16,6 +16,7 @@
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="syncDb">同步线上MySQL</el-dropdown-item>
<el-dropdown-item @click.native="handleMqSync">同步线上MQ</el-dropdown-item>
<el-dropdown-item @click.native="handleMogodb">同步线上Mongodb</el-dropdown-item>
<el-dropdown-item @click.native="clearRedis">清理Redis缓存</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
......@@ -322,12 +323,12 @@
</el-dialog>
<!-- 同步MQ对话框 -->
<el-dialog title="同步MQ" :visible.sync="mqSyncDialogVisible" width="50%">
<el-form ref="mqDataForm" label-position="left" label-width="130px" style="width: 95%; margin-left:20px;">
<el-form-item label="Namespace名称">
<el-dialog title="同步MQ" :visible.sync="mqSyncDialogVisible" width="40%">
<el-form ref="mqDataForm" label-width="120px" style="width:95%">
<el-form-item label="Namespace名称:">
<el-input v-model="namespace" :disabled="true" />
</el-form-item>
<el-form-item label="服务地址">
<el-form-item label="服务地址:">
<el-input v-model="mqUrl" :disabled="true" />
</el-form-item>
</el-form>
......@@ -336,6 +337,21 @@
<el-button type="primary" @click="syncMQ()">开始同步</el-button>
</span>
</el-dialog>
<!-- 同步mogobd对话框 2021-12-20新添加-->
<el-dialog title="同步Mongodb" :visible.sync="mongodbSyncDialogVisible" width="40%">
<el-form :model="mongodbDataForm" label-width="100px" style="width:95%">
<el-form-item label="服务地址:">
<el-input v-model="mongodbDataForm.host" :disabled="true" />
</el-form-item>
<el-form-item label="端口号:">
<el-input v-model="mongodbDataForm.port" :disabled="true" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="mongodbSyncDialogVisible = false">取消</el-button>
<el-button type="primary" @click="syncMongodb()">开始同步</el-button>
</span>
</el-dialog>
</div>
</template>
......@@ -353,7 +369,8 @@ import {
getDockerProjectType,
syncMq,
flushRedis,
mqDiff
mqDiff,
syncMongodb
} from '@/api/k8s'
import bus from '@/utils/bus'
export default {
......@@ -390,8 +407,13 @@ export default {
serviceName: '',
updateServiceParams: {},
mqSyncDialogVisible: false,
mongodbSyncDialogVisible: false,
mqUrl: '',
mqDataForm: {},
mongodbDataForm: {
host: '',
port: 0
},
loadingOptions: {
text: '加载中...',
lock: true,
......@@ -404,6 +426,12 @@ export default {
lock: true,
spinner: 'el-icon-loading',
background: 'rgba(0,0,0,0.7)'
},
mongodbLoadingOptions: {
text: 'Mongodb同步中...',
lock: true,
spinner: 'el-icon-loading',
background: 'rgba(0,0,0,0.7)'
}
}
},
......@@ -536,6 +564,36 @@ export default {
}
})
},
// 打开Mogodb同步对话框并且获取服务地址和端口号 2021-12-20新增
handleMogodb() {
getServiceDetail({
namespace: this.namespace,
serviceType: 'base',
serviceName: 'mongodb'
}).then((resp) => {
if (resp.data.data != null) {
this.mongodbDataForm.host = resp.data.data.lanIp
this.mongodbDataForm.port = resp.data.data.portMappings[0].nodePort
} else {
return this.$message.error('当前环境没有Mogodb!')
}
})
this.mongodbSyncDialogVisible = true
},
// 点击同步Mongodb
syncMongodb() {
const mongodbLoading = this.$loading.service(this.mongodbLoadingOptions)
syncMongodb(this.mongodbDataForm).then((resp) => {
if (resp.data.businessCode === '0000') {
this.mongodbSyncDialogVisible = false
mongodbLoading.close()
return this.$message.success('同步成功!')
} else {
mongodbLoading.close()
return this.$message.error('同步失败!')
}
})
},
// 清空redis
clearRedis() {
this.$confirm(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment