Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Q
qa-deploy-utils
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
qa-deploy-utils
Commits
94bbb4b1
Commit
94bbb4b1
authored
Feb 28, 2018
by
tywldx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
3c3428fc
Changes
2
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
319 additions
and
267 deletions
+319
-267
get_project_config.js
qa_shell_script/config_server/get_project_config.js
+171
-133
get_project_config_server.js
qa_shell_script/config_server/get_project_config_server.js
+148
-134
No files found.
qa_shell_script/config_server/get_project_config.js
View file @
94bbb4b1
var
cproc
=
require
(
'
child_process
'
);
const
mongoose
=
require
(
'
mongoose
'
);
var
execSync
=
cproc
.
execSync
;
var
project_name
,
project_attr
,
projects
=
{},
java_projects
=
[],
node_projects
=
[],
python_projects
=
[],
ui_projects
=
[];
var
param
=
{
type
:
""
,
name
:
""
,
attr
:
""
}
projects
=
{}
_projects
=
String
(
execSync
(
`curl -s http://192.168.4.3:10088/config_server/get_project_config_from_db`
))
_projects
=
JSON
.
parse
(
_projects
)
// console.log(typeof(projects))
for
(
let
pro
of
_projects
)
{
projects
[
pro
.
name
]
=
pro
;
switch
(
pro
[
'
type
'
])
{
case
"
java
"
:
java_projects
.
push
(
pro
);
break
;
case
"
node
"
:
node_projects
.
push
(
pro
);
break
;
case
"
ui
"
:
ui_projects
.
push
(
pro
);
break
;
case
"
python
"
:
python_projects
.
push
(
pro
);
break
;
}
}
var
temp
=
""
;
process
.
argv
.
forEach
(
function
(
val
,
index
,
array
)
{
if
(
index
>=
2
)
{
if
(
index
%
2
==
0
)
{
temp
=
val
.
replace
(
/
\-
/
,
""
);
param
[
temp
]
=
""
;
}
else
{
param
[
temp
]
=
val
;
}
}
});
function
getListAttr
(
projects
,
attr
)
{
function
getListAttr
(
projects
,
attr
)
{
var
list
=
[];
var
list
=
[];
for
(
var
i
=
0
;
i
<
projects
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
projects
.
length
;
i
++
)
{
// if (projects[i].is_active) {
list
.
push
(
projects
[
i
][
attr
])
list
.
push
(
projects
[
i
][
attr
])
// }
}
}
return
list
.
join
(
"
"
);
return
list
.
join
(
"
"
);
}
}
var
configFunction
=
function
()
{};
configFunction
.
prototype
=
{
function
getProjectAttr
(
projects
,
pName
,
pAttr
)
{
getProjectAttr
:
function
(
pName
,
pAttr
)
{
if
(
typeof
projects
[
pName
]
==
"
undefined
"
)
{
if
(
typeof
projects
[
pName
]
==
"
undefined
"
)
{
console
.
log
(
""
)
return
""
}
else
{
}
else
{
var
attrs
=
pAttr
.
split
(
"
/
"
);
var
attrs
=
pAttr
.
split
(
"
/
"
);
if
(
attrs
.
length
==
0
)
{
if
(
attrs
.
length
==
0
)
{
console
.
log
(
""
)
return
""
return
}
}
var
list
=
[];
var
list
=
[];
for
(
var
j
=
0
;
j
<
attrs
.
length
;
j
++
)
{
for
(
var
j
=
0
;
j
<
attrs
.
length
;
j
++
)
{
if
(
projects
[
pName
][
attrs
[
j
]]){
if
(
projects
[
pName
][
attrs
[
j
]]){
list
.
push
(
projects
[
pName
][
attrs
[
j
]].
split
(
"
"
).
join
(
"
^
"
));
list
.
push
(
projects
[
pName
][
attrs
[
j
]].
split
(
"
"
).
join
(
"
^
"
));
}
else
{
}
else
{
list
.
push
(
"
"
);
list
.
push
(
"
"
);
}
}
}
}
console
.
log
(
list
.
join
(
"
|
"
)
)
return
list
.
join
(
"
|
"
)
}
}
},
}
getProjectsAttrs
:
function
(
projects
,
attr
,
attr2
)
{
function
getProjectsAttrs
(
projects
,
attr
,
attr2
)
{
var
attrs
=
attr
.
split
(
"
/
"
);
var
attrs
=
attr
.
split
(
"
/
"
);
if
(
attrs
.
length
==
0
)
{
if
(
attrs
.
length
==
0
)
{
return
return
...
@@ -92,67 +43,154 @@ configFunction.prototype = {
...
@@ -92,67 +43,154 @@ configFunction.prototype = {
for
(
var
j
=
0
;
j
<
attrs
.
length
;
j
++
)
{
for
(
var
j
=
0
;
j
<
attrs
.
length
;
j
++
)
{
li
.
push
(
projects
[
i
][
attrs
[
j
]]);
li
.
push
(
projects
[
i
][
attrs
[
j
]]);
}
}
// li.push(projects[i].url);
list
.
push
(
li
.
join
(
"
|
"
));
list
.
push
(
li
.
join
(
"
|
"
));
}
}
}
}
}
else
{
}
else
{
for
(
var
i
=
0
;
i
<
projects
.
length
;
i
++
)
{
for
(
var
i
=
0
;
i
<
projects
.
length
;
i
++
)
{
// if (projects[i].is_active){
var
li
=
[
projects
[
i
][
"
name
"
]];
var
li
=
[
projects
[
i
][
"
name
"
]];
for
(
var
j
=
0
;
j
<
attrs
.
length
;
j
++
)
{
for
(
var
j
=
0
;
j
<
attrs
.
length
;
j
++
)
{
li
.
push
(
projects
[
i
][
attrs
[
j
]]);
li
.
push
(
projects
[
i
][
attrs
[
j
]]);
}
}
list
.
push
(
li
.
join
(
"
|
"
));
list
.
push
(
li
.
join
(
"
|
"
));
// }
}
}
}
}
return
list
.
join
(
"
"
);
return
list
.
join
(
"
"
);
},
}
getProjectsAttr
:
function
(
type
,
attr
)
{
switch
(
type
)
{
function
db2db
(
pro
){
let
temp
=
{
project_group
:
""
,
name
:
pro
[
"
project_name
"
],
type
:
pro
[
"
type
"
],
url
:
pro
[
"
host_name
"
].
replace
(
"
.xyqb.com
"
,
""
).
replace
(
"
.quantgroup.cn
"
,
""
),
www
:
pro
[
"
host_name
"
],
git_path
:
pro
[
"
git_path
"
],
log_name
:
pro
[
"
log_path
"
],
config_file
:
pro
[
"
config_path
"
],
command
:
""
,
command_
:
""
,
command2
:
""
,
node_version
:
""
,
port
:
`
${
pro
[
"
port
"
]}
`
,
desc
:
pro
[
"
des
"
],
is_active
:
pro
[
"
is_active
"
],
auth
:
pro
[
"
auth
"
],
target_path
:
""
}
if
(
pro
[
"
type
"
]
==
"
java
"
){
temp
.
node_version
=
pro
[
"
command1
"
];
temp
.
target_path
=
pro
[
"
jar_path
"
];
temp
.
command2
=
pro
[
"
build_command
"
];
temp
.
command
=
pro
[
"
start_command
"
];
}
else
if
(
pro
[
"
type
"
]
==
"
ui
"
){
temp
.
command
=
pro
[
"
build_command
"
]
}
else
if
(
pro
[
"
type
"
]
==
"
node
"
){
temp
.
command
=
pro
[
"
start_command
"
]
temp
.
command2
=
pro
[
"
stop_command
"
]
}
else
if
(
pro
[
"
type
"
]
==
"
python
"
){
}
return
temp
}
function
controller
(
param
){
//链接数据库
mongoose
.
connect
(
'
mongodb://172.30.220.22:27017/qaHome
'
)
mongoose
.
model
(
"
ProConfig
"
,
new
mongoose
.
Schema
({})).
find
({}).
exec
().
then
(
res
=>
{
// 定义数据
let
_res
=
JSON
.
parse
(
JSON
.
stringify
(
res
));
var
project_name
,
project_attr
,
projects
=
{},
java_projects
=
[],
node_projects
=
[],
python_projects
=
[],
ui_projects
=
[]
hosts
=
{};
projects
=
{}
for
(
let
pro
of
_res
)
{
let
temp
=
db2db
(
pro
);
projects
[
temp
.
name
]
=
temp
;
hosts
[
temp
.
name
]
=
temp
.
www
;
switch
(
pro
[
'
type
'
])
{
case
"
java
"
:
case
"
java
"
:
console
.
log
(
getListAttr
(
java_projects
,
attr
));
java_projects
.
push
(
temp
);
break
;
case
"
node
"
:
node_projects
.
push
(
temp
);
break
;
break
;
case
"
ui
"
:
case
"
ui
"
:
console
.
log
(
getListAttr
(
ui_projects
,
attr
)
);
ui_projects
.
push
(
temp
);
break
;
break
;
case
"
python
"
:
case
"
python
"
:
console
.
log
(
getListAttr
(
python_projects
,
attr
));
python_projects
.
push
(
temp
);
break
;
case
"
node
"
:
console
.
log
(
getListAttr
(
node_projects
,
attr
));
break
;
break
;
}
}
}
}
}
//tower add
//定义方法
module
.
exports
=
{
java
:
java_projects
,
node
:
node_projects
,
python
:
python_projects
,
ui
:
ui_projects
}
var
F
=
new
configFunction
();
try
{
if
(
param
[
"
type
"
]
==
""
)
{
if
(
param
[
"
type
"
]
==
""
)
{
F
.
getProjectAttr
(
param
[
"
name
"
],
param
[
"
attr
"
]);
let
str
=
getProjectAttr
(
projects
,
param
[
"
name
"
],
param
[
"
attr
"
]);
console
.
log
(
str
);
}
else
if
(
param
[
"
type
"
]
==
"
multi
"
)
{
}
else
if
(
param
[
"
type
"
]
==
"
multi
"
)
{
var
str
=
""
;
var
str
=
""
;
str
+=
F
.
getProjectsAttrs
(
java_projects
,
param
[
"
attr
"
],
param
[
"
attr2
"
]);
str
+=
getProjectsAttrs
(
java_projects
,
param
[
"
attr
"
],
param
[
"
attr2
"
]);
str
+=
"
"
+
F
.
getProjectsAttrs
(
ui_projects
,
param
[
"
attr
"
],
param
[
"
attr2
"
]);
str
+=
"
"
+
getProjectsAttrs
(
ui_projects
,
param
[
"
attr
"
],
param
[
"
attr2
"
]);
str
+=
"
"
+
F
.
getProjectsAttrs
(
python_projects
,
param
[
"
attr
"
],
param
[
"
attr2
"
]);
str
+=
"
"
+
getProjectsAttrs
(
python_projects
,
param
[
"
attr
"
],
param
[
"
attr2
"
]);
str
+=
"
"
+
F
.
getProjectsAttrs
(
node_projects
,
param
[
"
attr
"
],
param
[
"
attr2
"
]);
str
+=
"
"
+
getProjectsAttrs
(
node_projects
,
param
[
"
attr
"
],
param
[
"
attr2
"
]);
console
.
log
(
str
)
console
.
log
(
str
)
}
else
if
(
param
[
"
type
"
]
==
"
hosts
"
)
{
}
else
if
(
param
[
"
type
"
]
==
"
hosts
"
)
{
console
.
log
(
JSON
.
stringify
(
hosts
));
console
.
log
(
JSON
.
stringify
(
hosts
));
}
else
{
}
else
{
F
.
getProjectsAttr
(
param
[
"
type
"
],
param
[
"
attr
"
]);
switch
(
param
[
"
type
"
])
{
case
"
java
"
:
console
.
log
(
getListAttr
(
java_projects
,
param
[
"
attr
"
]));
break
;
case
"
ui
"
:
console
.
log
(
getListAttr
(
ui_projects
,
param
[
"
attr
"
]));
break
;
case
"
python
"
:
console
.
log
(
getListAttr
(
python_projects
,
param
[
"
attr
"
]));
break
;
case
"
node
"
:
console
.
log
(
getListAttr
(
node_projects
,
param
[
"
attr
"
]));
break
;
}
}
//关闭连接
mongoose
.
connection
.
close
()
}).
catch
((
err
)
=>
{
//关闭链接
console
.
log
(
err
)
mongoose
.
connection
.
close
()
});
}
function
main
(){
var
param
=
{
type
:
""
,
name
:
""
,
attr
:
""
}
//获取请求参数
var
temp
=
""
;
process
.
argv
.
forEach
(
function
(
val
,
index
,
array
)
{
if
(
index
>=
2
)
{
if
(
index
%
2
==
0
)
{
temp
=
val
.
replace
(
/
\-
/
,
""
);
param
[
temp
]
=
""
;
}
else
{
param
[
temp
]
=
val
;
}
}
}
});
controller
(
param
)
//这里区分使用那个方法,需要注意的是,这里不在提供输出结果,结果在mongo链接中输出
}
try
{
main
()
}
catch
(
e
)
{
}
catch
(
e
)
{
console
.
log
(
""
)
console
.
log
(
""
)
}
}
\ No newline at end of file
qa_shell_script/config_server/get_project_config_server.js
View file @
94bbb4b1
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment