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

添加同步mongodb功能

parent 6ea13499
...@@ -187,3 +187,11 @@ export function mqDiff(queryInfo) { ...@@ -187,3 +187,11 @@ export function mqDiff(queryInfo) {
params: queryInfo params: queryInfo
}) })
} }
// jenkins构建控制台信息获取
export function syncMongodb(queryInfo) {
return request({
url: 'k8s/sync/mongo',
method: 'get',
params: queryInfo
})
}
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="syncDb">同步线上MySQL</el-dropdown-item> <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="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-item @click.native="clearRedis">清理Redis缓存</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
...@@ -322,12 +323,12 @@ ...@@ -322,12 +323,12 @@
</el-dialog> </el-dialog>
<!-- 同步MQ对话框 --> <!-- 同步MQ对话框 -->
<el-dialog title="同步MQ" :visible.sync="mqSyncDialogVisible" width="50%"> <el-dialog title="同步MQ" :visible.sync="mqSyncDialogVisible" width="40%">
<el-form ref="mqDataForm" label-position="left" label-width="130px" style="width: 95%; margin-left:20px;"> <el-form ref="mqDataForm" label-width="120px" style="width:95%">
<el-form-item label="Namespace名称"> <el-form-item label="Namespace名称:">
<el-input v-model="namespace" :disabled="true" /> <el-input v-model="namespace" :disabled="true" />
</el-form-item> </el-form-item>
<el-form-item label="服务地址"> <el-form-item label="服务地址:">
<el-input v-model="mqUrl" :disabled="true" /> <el-input v-model="mqUrl" :disabled="true" />
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -336,6 +337,21 @@ ...@@ -336,6 +337,21 @@
<el-button type="primary" @click="syncMQ()">开始同步</el-button> <el-button type="primary" @click="syncMQ()">开始同步</el-button>
</span> </span>
</el-dialog> </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> </div>
</template> </template>
...@@ -353,7 +369,8 @@ import { ...@@ -353,7 +369,8 @@ import {
getDockerProjectType, getDockerProjectType,
syncMq, syncMq,
flushRedis, flushRedis,
mqDiff mqDiff,
syncMongodb
} from '@/api/k8s' } from '@/api/k8s'
import bus from '@/utils/bus' import bus from '@/utils/bus'
export default { export default {
...@@ -390,8 +407,13 @@ export default { ...@@ -390,8 +407,13 @@ export default {
serviceName: '', serviceName: '',
updateServiceParams: {}, updateServiceParams: {},
mqSyncDialogVisible: false, mqSyncDialogVisible: false,
mongodbSyncDialogVisible: false,
mqUrl: '', mqUrl: '',
mqDataForm: {}, mqDataForm: {},
mongodbDataForm: {
host: '',
port: 0
},
loadingOptions: { loadingOptions: {
text: '加载中...', text: '加载中...',
lock: true, lock: true,
...@@ -404,6 +426,12 @@ export default { ...@@ -404,6 +426,12 @@ export default {
lock: true, lock: true,
spinner: 'el-icon-loading', spinner: 'el-icon-loading',
background: 'rgba(0,0,0,0.7)' 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 { ...@@ -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 // 清空redis
clearRedis() { clearRedis() {
this.$confirm( 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