Commit fe34cf96 authored by 智勇's avatar 智勇

优化重启latest

parent 62154284
......@@ -6,8 +6,6 @@ const { serviceRestart, getServicesFormat, getAllNamespace } = require('../kubeS
const container = require('../services/tke.containerService').create()
const getClient = require('../resource/getClient')
const repoNS = ['qa-java', 'qa-ui', 'qa-node', 'qa-python']
const testNamespace = ['qa', 'fe', 'data', 'fis', 'xyqb2']
const clientNew = {}
const deploy = async (cluster) => {
......@@ -15,29 +13,30 @@ const deploy = async (cluster) => {
clientNew[cluster] = await getClient(cluster)
}
logger.info('deployLatest start')
for (const ns of repoNS) {
const repoNSData = await container.repository_get(ns)
for (const repo of repoNSData.repoInfo) {
logger.info('开始检查仓库项目:', repo.reponame)
const repoName = repo.reponame.split('/')[1]
const latest = await container.getTagByName(repo.reponame, 'latest')
const latestImageID = _.get(latest.tagInfo, '[0].tagId', '')
let ns = await getAllNamespace(clientNew[cluster])
ns = ns.namespaces && ns.namespaces.filter(item => testNamespace.includes(item.name))
for (const namespace of ns) {
const svcs = await getServicesFormat(clientNew[cluster], namespace.name)
for (const svc of svcs) {
if (svc.serviceName === repoName && svc.image.indexOf('latest') !== -1) {
if (latestImageID !== svc.imageID.split('@')[1]) {
logger.info('部署项目', namespace.name, svc.podName)
await serviceRestart(clientNew[cluster], namespace.name, svc.podName)
sleep.msleep(500)
}
}
const ns = await getAllNamespace(clientNew[cluster])
// for test
// const testNamespace = ['fis', 'xyqb2']
// const nsTest = ns.namespaces && ns.namespaces.filter(item => testNamespace.includes(item.name))
// for (const namespace of nsTest) {
for (const namespace of ns.namespaces) {
logger.info('开始检查ns:', namespace.name)
const svcs = await getServicesFormat(clientNew[cluster], namespace.name)
for (const svc of svcs) {
if (svc.image.indexOf('latest') !== -1) {
logger.info('检查项目', svc.image)
const repoName = svc.image.split(':')[0].split('/').slice(1).join('/')
const latest = await container.getTagByName(repoName, 'latest')
const latestImageID = _.get(latest.tagInfo, '[0].tagId', '')
if (svc.imageID.split('@')[1] !== latestImageID) {
logger.info('latest不一致,部署项目', namespace.name, svc.podName)
await serviceRestart(clientNew[cluster], namespace.name, svc.podName)
}
sleep.msleep(1000)
}
logger.info('仓库项目检查完毕:', repo.reponame)
}
logger.info('ns:', namespace.name, '检查完毕')
}
logger.info('deployLatest end')
}
......
......@@ -15,7 +15,7 @@ const {
getServiceDetail,
serviceRestart,
serviceDelete,
imageUpdate,
// imageUpdate,
deployUpdate,
replicaSetDelete,
pvcDelete,
......
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