From 7485a93730fd49118460c21985e08b889bb1813e Mon Sep 17 00:00:00 2001 From: pengtao Date: Wed, 23 Oct 2019 14:58:53 +0800 Subject: [PATCH 01/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A02001=20b=5FN=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_channel/produce_ss_csv.py | 31 +++++++++++++++++++++++++++++++ ops/mp_interface.py | 27 +++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 data_channel/produce_ss_csv.py create mode 100644 ops/mp_interface.py diff --git a/data_channel/produce_ss_csv.py b/data_channel/produce_ss_csv.py new file mode 100644 index 0000000..542f9f7 --- /dev/null +++ b/data_channel/produce_ss_csv.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +import pdb +from ops.mp_interface import MpInterface + + +class ProduceSSCsv: + def __init__(self): + # self.base_path = "/data/git/ops_interface/ops/csv" + self.base_path = "/tmp/" + self.gameid_list = [1004, 1001, 2001, 1011] + self.channelid = 6001 + + def write2csv(self, gameid, channelid, data): + filename = f"{gameid}_{channelid}__button_name.csv" + with open(filename, 'w') as f: + f.write("button_name,button_name_cn\n") + for line in data: + print(line) + + + def run(self): + mi = MpInterface() + + for gameid in self.gameid_list: + data = mi.get_co_list(gameid, self.channelid) + self.write2csv(gameid, self.channelid, data) + + +if __name__ == "__main__": + pp = ProduceSSCsv() + pp.run() diff --git a/ops/mp_interface.py b/ops/mp_interface.py new file mode 100644 index 0000000..6e72a90 --- /dev/null +++ b/ops/mp_interface.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +import requests + + +class MpInterface: + + def __init__(self): + self.base_url = "https://mp.kingsome.cn/api/open/cfg/all?" + + def get_data(self, url): + import requests + r = requests.get(url) + if r.status_code == requests.codes.ok: + return r.json().get('result') + else: + return None + + + def get_co_list(self, gameid, channelid): + key = "co-list" + url = f"{self.base_url}channelid={channelid}&gameid={gameid}&key={key}" + return self.get_data(url) + + def get_fromappid_cn(self, gameid, channelid): + key = "fromappid_cn" + url = f"{self.base_url}channelid={channelid}&gameid={gameid}&key={key}" + return self.get_data(url) From 502af79e85e4fd77abd18384ea858a9bb963df20 Mon Sep 17 00:00:00 2001 From: pengtao Date: Wed, 23 Oct 2019 15:01:14 +0800 Subject: [PATCH 02/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A02001=20b=5FN=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_channel/produce_ss_csv.py | 4 ++-- ops/{mp_interface.py => mpsetting.py} | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename ops/{mp_interface.py => mpsetting.py} (97%) diff --git a/data_channel/produce_ss_csv.py b/data_channel/produce_ss_csv.py index 542f9f7..45910db 100644 --- a/data_channel/produce_ss_csv.py +++ b/data_channel/produce_ss_csv.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- import pdb -from ops.mp_interface import MpInterface +from ops.mpsetting import Mpdata class ProduceSSCsv: @@ -19,7 +19,7 @@ class ProduceSSCsv: def run(self): - mi = MpInterface() + mi = Mpdata() for gameid in self.gameid_list: data = mi.get_co_list(gameid, self.channelid) diff --git a/ops/mp_interface.py b/ops/mpsetting.py similarity index 97% rename from ops/mp_interface.py rename to ops/mpsetting.py index 6e72a90..a5b1586 100644 --- a/ops/mp_interface.py +++ b/ops/mpsetting.py @@ -2,7 +2,7 @@ import requests -class MpInterface: +class Mpdata: def __init__(self): self.base_url = "https://mp.kingsome.cn/api/open/cfg/all?" From c2c90842c393d9d1b0f9696bdbe78f07cf331dc7 Mon Sep 17 00:00:00 2001 From: pengtao Date: Wed, 23 Oct 2019 15:03:13 +0800 Subject: [PATCH 03/40] =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=B8=AA=E6=80=A7?= =?UTF-8?q?=E5=8C=96=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data_channel/gamelog_external.py | 4 ++-- data_channel/mp2shushu.py | 4 ++-- data_channel/produce_ss_csv.py | 4 ++-- {ops => myops}/__init__.py | 0 {ops => myops}/csv/1004_button_name.csv | 0 {ops => myops}/csv/2001_b_n.csv | 0 {ops => myops}/csv/2001_b_n.csv.old | 0 {ops => myops}/csv/gameid.csv | 0 {ops => myops}/mansible.py | 0 {ops => myops}/mmysql.py | 0 {ops => myops}/mpsetting.py | 0 {ops => myops}/mylog.py | 0 {ops => myops}/ss_virtual_create.py | 6 +++--- web.py | 6 +++--- 14 files changed, 12 insertions(+), 12 deletions(-) rename {ops => myops}/__init__.py (100%) rename {ops => myops}/csv/1004_button_name.csv (100%) rename {ops => myops}/csv/2001_b_n.csv (100%) rename {ops => myops}/csv/2001_b_n.csv.old (100%) rename {ops => myops}/csv/gameid.csv (100%) rename {ops => myops}/mansible.py (100%) rename {ops => myops}/mmysql.py (100%) rename {ops => myops}/mpsetting.py (100%) rename {ops => myops}/mylog.py (100%) rename {ops => myops}/ss_virtual_create.py (94%) diff --git a/data_channel/gamelog_external.py b/data_channel/gamelog_external.py index 0c7f196..dcc55b6 100644 --- a/data_channel/gamelog_external.py +++ b/data_channel/gamelog_external.py @@ -2,8 +2,8 @@ #被mp系统调用,用于同步(第三方传递日志需要)appkey到gamelog的相应配置文件 import requests import logging -from ops.mansible import AnsibleAPI -from ops.mmysql import MysqlBase +from myops.mansible import AnsibleAPI +from myops.mmysql import MysqlBase import time from config.config import args log = logging.getLogger(__name__) diff --git a/data_channel/mp2shushu.py b/data_channel/mp2shushu.py index a0b226e..f01d63c 100644 --- a/data_channel/mp2shushu.py +++ b/data_channel/mp2shushu.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import requests import logging -from ops.ss_virtual_create import SS_Virtual_command +from myops.ss_virtual_create import SS_Virtual_command import json log = logging.getLogger(__name__) import pdb @@ -9,7 +9,7 @@ import pdb class Mp2shushu(): def __init__(self, gameid, channel): self.mp_url = f"http://10.10.5.4:2333/api/open/promotion/co-list?channelid={channel}&gameid={gameid}" - self.filename = "/data/git/ops_interface/ops/csv/2001_b_n.csv" + self.filename = "/data/git/ops_interface/myops/csv/2001_b_n.csv" def get_ad_list(self): r = requests.get(self.mp_url) diff --git a/data_channel/produce_ss_csv.py b/data_channel/produce_ss_csv.py index 45910db..87a9dad 100644 --- a/data_channel/produce_ss_csv.py +++ b/data_channel/produce_ss_csv.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- import pdb -from ops.mpsetting import Mpdata +from myops.mpsetting import Mpdata class ProduceSSCsv: def __init__(self): - # self.base_path = "/data/git/ops_interface/ops/csv" + # self.base_path = "/data/git/ops_interface/myops/csv" self.base_path = "/tmp/" self.gameid_list = [1004, 1001, 2001, 1011] self.channelid = 6001 diff --git a/ops/__init__.py b/myops/__init__.py similarity index 100% rename from ops/__init__.py rename to myops/__init__.py diff --git a/ops/csv/1004_button_name.csv b/myops/csv/1004_button_name.csv similarity index 100% rename from ops/csv/1004_button_name.csv rename to myops/csv/1004_button_name.csv diff --git a/ops/csv/2001_b_n.csv b/myops/csv/2001_b_n.csv similarity index 100% rename from ops/csv/2001_b_n.csv rename to myops/csv/2001_b_n.csv diff --git a/ops/csv/2001_b_n.csv.old b/myops/csv/2001_b_n.csv.old similarity index 100% rename from ops/csv/2001_b_n.csv.old rename to myops/csv/2001_b_n.csv.old diff --git a/ops/csv/gameid.csv b/myops/csv/gameid.csv similarity index 100% rename from ops/csv/gameid.csv rename to myops/csv/gameid.csv diff --git a/ops/mansible.py b/myops/mansible.py similarity index 100% rename from ops/mansible.py rename to myops/mansible.py diff --git a/ops/mmysql.py b/myops/mmysql.py similarity index 100% rename from ops/mmysql.py rename to myops/mmysql.py diff --git a/ops/mpsetting.py b/myops/mpsetting.py similarity index 100% rename from ops/mpsetting.py rename to myops/mpsetting.py diff --git a/ops/mylog.py b/myops/mylog.py similarity index 100% rename from ops/mylog.py rename to myops/mylog.py diff --git a/ops/ss_virtual_create.py b/myops/ss_virtual_create.py similarity index 94% rename from ops/ss_virtual_create.py rename to myops/ss_virtual_create.py index 6311ea4..1c43f9d 100644 --- a/ops/ss_virtual_create.py +++ b/myops/ss_virtual_create.py @@ -34,7 +34,7 @@ class SS_Virtual_command: def upload_gameid(self): - filename = "/data/git/ops_interface/ops/csv/gameid.csv" + filename = "/data/git/ops_interface/myops/csv/gameid.csv" projectId = int(19) createParam = {"commonHeader": {"projectId": 19}, "mainColumn": {"property": {"columnName": "gameid", "tableType": 0}}, @@ -54,7 +54,7 @@ class SS_Virtual_command: def upload_2001_b_n(self): - filename = "/data/git/ops_interface/ops/csv/2001_b_n.csv" + filename = "/data/git/ops_interface/myops/csv/2001_b_n.csv" projectId = int(22) createParam = {"commonHeader": {"projectId": 22}, "mainColumn": {"property": {"columnName": "#vp@b_n", "tableType": 0, "subTableType": "vprop_sql"}}, @@ -73,7 +73,7 @@ class SS_Virtual_command: return False def upload_1004_button_name(self): - filename = "/data/git/ops_interface/ops/csv/1004_button_name.csv" + filename = "/data/git/ops_interface/myops/csv/1004_button_name.csv" projectId = int(19) createParam = {"commonHeader": {"projectId": 19}, "mainColumn": {"property": {"columnName": "#vp@button_name", "tableType": 0, "subTableType": "vprop_sql"}}, diff --git a/web.py b/web.py index 0cf0f87..eca53dc 100644 --- a/web.py +++ b/web.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -# ops 通用接口 +# myops 通用接口 # python web.py --port=6013 import tornado.ioloop import tornado.web import tornado.options from tornado import gen -from ops.mylog import define_logger +from myops.mylog import define_logger import logging from config.config import * @@ -14,7 +14,7 @@ import pdb from data_channel.gamelog_external import Build_Gamelog_Config from data_channel.mp2shushu import Mp2shushu -define_logger("/data/logs/ops/ops_interface.log") +define_logger("/data/logs/myops/ops_interface.log") log = logging.getLogger(__name__) tornado.options.define("port", default=interface_port, type=int, help="run server on the given port.") From af35c8283ad1794793bfff366ca06a55c14fde5a Mon Sep 17 00:00:00 2001 From: pengtao Date: Wed, 23 Oct 2019 15:20:01 +0800 Subject: [PATCH 04/40] =?UTF-8?q?=E5=9B=9E=E6=BB=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 129 bytes config/__pycache__/config.cpython-37.pyc | Bin 0 -> 467 bytes data_channel/__pycache__/__init__.cpython-37.pyc | Bin 0 -> 135 bytes .../__pycache__/gamelog_external.cpython-37.pyc | Bin 0 -> 3646 bytes .../__pycache__/mp2shushu.cpython-37.pyc | Bin 0 -> 2190 bytes mp2ss.sh | 1 + 6 files changed, 1 insertion(+) create mode 100644 config/__pycache__/__init__.cpython-37.pyc create mode 100644 config/__pycache__/config.cpython-37.pyc create mode 100644 data_channel/__pycache__/__init__.cpython-37.pyc create mode 100644 data_channel/__pycache__/gamelog_external.cpython-37.pyc create mode 100644 data_channel/__pycache__/mp2shushu.cpython-37.pyc create mode 100644 mp2ss.sh diff --git a/config/__pycache__/__init__.cpython-37.pyc b/config/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..240ca3babfead1d8beb57ba043284807b5ed4f8e GIT binary patch literal 129 zcmZ?b<>g`kg1Q3>W5t2=V-N=h7=a82ATDMB5-AM944RC7D;bJF!U*D*mVQcNNuqvw zW{G}&L2-O$UP)?ET4HjlesX?ZT4uU_JWwdJBtBlRpz;=nO>TZlX-=vg$c$njW&i;1 C#T@7W literal 0 HcmV?d00001 diff --git a/config/__pycache__/config.cpython-37.pyc b/config/__pycache__/config.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1342fa3a07e7b5ca9227aeeec9bb6cc27e392e1e GIT binary patch literal 467 zcmX|6Jx^OP6t(@Fhw~r-B!pC{s=@|KK0uWiB7`bMY+2gLqKaN~ofnJ8vt=97FqS`3 z#Khho!EdnGm{|A$oqCf%ukCYurF(pizcd;d!FqbV|Ne&(^1Nu?E5XYt9&ZtV04<3m ziu|U)?x@{?L^9wqQT&$3nqrV#FgJvnOd(Y@SnCrI$aUllc^!EJxzQ)pE>1Ub`W!Z8 zS_!oVTetKVRjDtRdis?dY`>r@8OAh+k*cmEx6Z&#)`2|aozfIu!v{ic>b-6o_fh+E z1^<=H8#~m z7p<8N)7HwjHOY0UVDCUgW_(Nw6)=rsm`w_dF|v7>Mhmhg9f^^-z}4kjM`7j;${-l%QoQS>hjT$So%Vd_632-c*Wrc@w` M<;oCKCK#vx09%QFx&QzG literal 0 HcmV?d00001 diff --git a/data_channel/__pycache__/__init__.cpython-37.pyc b/data_channel/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..19d09680322c6af20a0f66aeed91b14ea3fc357a GIT binary patch literal 135 zcmZ?b<>g`kg1Q3>W5t2=V-N=h7=a82ATDMB5-AM944RC7D;bJF!U*D*fqqJ2Nuqvw zW{G}&L2-O$UP)?ET4Hi4SU5g8BQY;8HAg=lD3MtbAFo$Xd5gm)H$SB`C)EyQQZW!S F006q$A4&iK literal 0 HcmV?d00001 diff --git a/data_channel/__pycache__/gamelog_external.cpython-37.pyc b/data_channel/__pycache__/gamelog_external.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c0140c3e32f8806189a9a7aba047dcdf9f9e8f56 GIT binary patch literal 3646 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 yy9;KN{|B^4IWpErJ}&(!#hAR$NvQt;PQ$9 literal 0 HcmV?d00001 diff --git a/mp2ss.sh b/mp2ss.sh new file mode 100644 index 0000000..dfd9dae --- /dev/null +++ b/mp2ss.sh @@ -0,0 +1 @@ +curl "http://10.10.3.16:6500/webapp/index.php?c=Ops&a=mp2ss" From 5d9e00bd5a7e50ed7493d82c695c45629d003437 Mon Sep 17 00:00:00 2001 From: pengtao Date: Wed, 23 Oct 2019 15:59:20 +0800 Subject: [PATCH 05/40] a --- .idea/encodings.xml | 4 + .idea/misc.xml | 7 + .idea/modules.xml | 8 + .idea/ops_interface.iml | 12 + .idea/workspace.xml | 761 ++++++++++++++++++ ops/__pycache__/__init__.cpython-37.pyc | Bin 126 -> 0 bytes ops/__pycache__/mansible.cpython-37.pyc | Bin 6062 -> 0 bytes ops/__pycache__/mmysql.cpython-37.pyc | Bin 4537 -> 0 bytes ops/__pycache__/mylog.cpython-37.pyc | Bin 742 -> 0 bytes .../ss_virtual_create.cpython-37.pyc | Bin 2930 -> 0 bytes 10 files changed, 792 insertions(+) create mode 100644 .idea/encodings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/ops_interface.iml create mode 100644 .idea/workspace.xml delete mode 100644 ops/__pycache__/__init__.cpython-37.pyc delete mode 100644 ops/__pycache__/mansible.cpython-37.pyc delete mode 100644 ops/__pycache__/mmysql.cpython-37.pyc delete mode 100644 ops/__pycache__/mylog.cpython-37.pyc delete mode 100644 ops/__pycache__/ss_virtual_create.cpython-37.pyc diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..15a15b2 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..79a4365 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..b95155a --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/ops_interface.iml b/.idea/ops_interface.iml new file mode 100644 index 0000000..6f63a63 --- /dev/null +++ b/.idea/ops_interface.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..030288f --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,761 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + print + my + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1570850061858 - - - 1570882247813 - - - 1571022099526 - - - 1571023986921 - - - 1571024597627 - - - 1571024792632 - - - 1571025161536 - - - 1571025473796 - - - 1571026118353 - - - 1571032368715 - - - 1571032817380 - - - 1571033093676 - - - 1571033393598 - - - 1571037386786 - - - 1571112072811 - - - 1571119784877 - - - 1571119879978 - - - 1571120987564 - - - 1571121071363 - - - 1571121109637 - - - 1571121918155 - - - 1571121972302 - - - 1571122689137 - - - 1571122847978 - - - 1571123234142 - - - 1571123422555 - - - 1571123578951 - - - 1571124132252 - - - 1571124213905 - - - 1571124266646 - - - 1571124416944 - - - 1571124547002 - - - 1571124636520 - - - 1571124727083 - - - 1571124815695 - - - 1571125029095 - - - 1571125255815 - - - 1571125359026 - - - 1571125454172 - - - 1571125533836 - - - 1571125741635 - - - 1571295109670 - - - 1571396977220 - - - 1571813934089 - - - 1571814074453 - - - 1571814193518 - - - 1571817998129 - - - 1571818281145 - - - 1571818319380 - - - 1571818432680 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/data_channel/produce_ss_csv.py b/data_channel/produce_ss_csv.py index bb02f6f..976a9e2 100644 --- a/data_channel/produce_ss_csv.py +++ b/data_channel/produce_ss_csv.py @@ -5,7 +5,7 @@ import requests def get_mp_interface(gameid, channelid): base_url = "http://10.10.5.4:2333/api/open/cfg/all?" - key = "co-list" + key = "name-table" url = f"{base_url}channelid={channelid}&gameid={gameid}&key={key}" r = requests.get(url) if r.status_code == requests.codes.ok: From 290c568c9cb800c52d0b539d73d247ea6ab1649f Mon Sep 17 00:00:00 2001 From: pengtao Date: Fri, 25 Oct 2019 16:01:43 +0800 Subject: [PATCH 14/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/__init__.py | 1 + deploy/deploy_keys.py | 113 +++++++++++++++++++++++++++++++++++++++++ deploy/deploy_keys.yml | 8 +++ web.py | 21 ++++++-- 4 files changed, 138 insertions(+), 5 deletions(-) create mode 100644 deploy/__init__.py create mode 100644 deploy/deploy_keys.py create mode 100644 deploy/deploy_keys.yml diff --git a/deploy/__init__.py b/deploy/__init__.py new file mode 100644 index 0000000..7c68785 --- /dev/null +++ b/deploy/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- \ No newline at end of file diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py new file mode 100644 index 0000000..d3e8337 --- /dev/null +++ b/deploy/deploy_keys.py @@ -0,0 +1,113 @@ +# -*- coding: utf-8 -*- +from myops.mmysql import MysqlBase +from myops.mansible import AnsibleAPI +from myops.mylog import define_logger +import logging +import datetime +from config.config import args +import os +import tarfile +import svn + +define_logger("/data/logs/ops/deploy_keys.log") +log = logging.getLogger(__name__) + + +class DeployKeys: + def __init__(self, project): + self.project = project + self.svn_base = "/data/publish/svn" + self.svn_paths = f"{self.svn_base}/{self.project}" + + + def run(self): + svn_path, ipadr = self.get_config() + if svn_path: + key_path = f"{svn_path}/keys" + args = dict() + tar_file = self.build_svn_tar(key_path) + hostfile = self.build_hostfile() + args['hostfile'] = hostfile + args['tar_file'] = tar_file + self.ansible_deploy(args) + + + def get_config(self): + sql = f"""SELECT + config_address, + run_server + FROM + `deploy_projectmanage` + WHERE + project_name="{self.project}" + and env='prod'""" + + mydb = MysqlBase(**args) + data = mydb.query(sql) + ip_addr = list() + if data: + for line in data: + try: + svn_path = line[0] + ip_addr.append(line[1]) + except Exception: + log.error(f"split {self.project} config failed", exc_info=True) + svn_path = None + + return (svn_path, ip_addr) + + + def build_svn_tar(self, svn_path): + try: + log.info("svn export config start") + s = svn.remote.RemoteClient(svn_path) + s.export(self.svn_paths, force=True) + log.info("svn export config success") + except Exception: + log.error(f"get remote {self.project} svn failed", exc_info=True) + else: + log.info("tarfile {0} config to tar.gz start".format(self.project)) + tar = tarfile.open(self.svn_paths + '.tar.gz', 'w:gz') + os.chdir(self.svn_paths) + for f in os.listdir(self.svn_paths): + tar.add(f) + tar.close() + + # 判断是否有生成tar包 + list_dir = os.listdir(self.svn_base) + tar_files = list() + for i in list_dir: + if i == "{0}.tar.gz".format(self.project) and os.path.isfile(os.path.join(self.basedir, i)): + tar_files.append(os.path.join(self.basedir, i)) + if len(tar_files) == 1: + log.info("tarfile {0} config to tar.gz success".format(self.project)) + return tar_files + else: + return None + + + def build_hostfile(self, ip_addr): + now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + host_files = f"/tmp/host_{now}" + with open(host_files, 'w') as f: + for line in ip_addr: + f.writelines(line + '\n') + return host_files + + def ansible_deploy(self, args): + an = AnsibleAPI(args['hostfile']) + data = {'tga': 'x', 'source': 'x', 'project': 'x'} + resule = an.run_playbook('deploy_keys.yml', **args) + if not (resule['failed'] or resule['unreachable']): + log.info(f"deploy keys with {self.p} success!") + else: + log.error(f"{self.p} deploy keys failed,{resule}", exc_info=True) + + +def main(): + dk = DeployKeys() + dk.run() + + +if __name__ == "__main__": + main() diff --git a/deploy/deploy_keys.yml b/deploy/deploy_keys.yml new file mode 100644 index 0000000..081aa22 --- /dev/null +++ b/deploy/deploy_keys.yml @@ -0,0 +1,8 @@ +- hosts: all + tasks: + + - name: rsync deploy file + copy: src={{ source }} dest=/data/apps/{{ dest_filename }} + + - name: decomp file + shell: "cd /data/backups_app/ && mkdir -p {{ tag }} && tar zxvf {{ dest_filename }} -C {{ tag }} && chown -R kingsome. {{ tag }}" \ No newline at end of file diff --git a/web.py b/web.py index eca53dc..54a4635 100644 --- a/web.py +++ b/web.py @@ -13,7 +13,7 @@ from config.config import * import pdb from data_channel.gamelog_external import Build_Gamelog_Config from data_channel.mp2shushu import Mp2shushu - +from deploy.deploy_keys import DeployKeys define_logger("/data/logs/myops/ops_interface.log") log = logging.getLogger(__name__) tornado.options.define("port", default=interface_port, type=int, help="run server on the given port.") @@ -27,13 +27,24 @@ class DispatchHandler(tornado.web.RequestHandler): self._selfgamelogexternal() elif self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'mp2ss': yield self._selfmp2ss() + elif self.get_query_argument('c') == 'Deploy' and self.get_query_argument('a') == 'keys': + yield self._selfdeploykeys() else: self.write("pls check args!") - @gen.coroutine - def post(self): - if self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'upJumpRecording': - self._selfupJumpRecording() + # @gen.coroutine + # def post(self): + # if self.get_query_argument('c') == 'Ops' and self.get_query_argument('a') == 'upJumpRecording': + # self._selfupJumpRecording() + + def _selfdeploykeys(self): + try: + project = self.get_query_argument('project') + dk = DeployKeys(project) + dk.run() + except Exception: + log.error(f"deploy keys with {project} failed", exc_info=True) + def _selfgamelogexternal(self): try: From 230d3bf90f3c39f3a96b1d05337c6b8de8bdadc2 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 13:47:34 +0800 Subject: [PATCH 15/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 24 ++++++++++++++++-------- deploy/deploy_keys.yml | 5 ++++- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index d3e8337..277ff76 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -8,28 +8,36 @@ from config.config import args import os import tarfile import svn - +import shutil define_logger("/data/logs/ops/deploy_keys.log") log = logging.getLogger(__name__) class DeployKeys: def __init__(self, project): + self.env='test' self.project = project - self.svn_base = "/data/publish/svn" + self.svn_base = f"/data/publish/svn/{self.env}" self.svn_paths = f"{self.svn_base}/{self.project}" def run(self): svn_path, ipadr = self.get_config() if svn_path: - key_path = f"{svn_path}/keys" - args = dict() - tar_file = self.build_svn_tar(key_path) + shutil.rmtree(svn_path) + else: + pass + os.system(f"mkdir -p {svn_path}") + key_path = f"{svn_path}/keys" + args = dict() + tar_file = self.build_svn_tar(key_path) + if tar_file: hostfile = self.build_hostfile() args['hostfile'] = hostfile args['tar_file'] = tar_file self.ansible_deploy(args) + else: + log.error(f"tar file no found with {self.project}") def get_config(self): @@ -40,7 +48,7 @@ class DeployKeys: `deploy_projectmanage` WHERE project_name="{self.project}" - and env='prod'""" + and env='{self.env}'""" mydb = MysqlBase(**args) data = mydb.query(sql) @@ -96,8 +104,8 @@ class DeployKeys: def ansible_deploy(self, args): an = AnsibleAPI(args['hostfile']) - data = {'tga': 'x', 'source': 'x', 'project': 'x'} - resule = an.run_playbook('deploy_keys.yml', **args) + data = {'dest_filename': 'x', 'source': 'x', 'project': 'x'} + resule = an.run_playbook('deploy_keys.yml', **data) if not (resule['failed'] or resule['unreachable']): log.info(f"deploy keys with {self.p} success!") else: diff --git a/deploy/deploy_keys.yml b/deploy/deploy_keys.yml index 081aa22..838aa63 100644 --- a/deploy/deploy_keys.yml +++ b/deploy/deploy_keys.yml @@ -4,5 +4,8 @@ - name: rsync deploy file copy: src={{ source }} dest=/data/apps/{{ dest_filename }} + - name: back old config file + shell: "rsync -avcp /data/app{{ project }}/keys /data/app{{ project }}/keys.old" + - name: decomp file - shell: "cd /data/backups_app/ && mkdir -p {{ tag }} && tar zxvf {{ dest_filename }} -C {{ tag }} && chown -R kingsome. {{ tag }}" \ No newline at end of file + shell: "cd /data/app/ && tar zxvf {{ dest_filename }} -C /data/apps/{{ project }} " \ No newline at end of file From 6d7c9723168a23fdf8806165f861ff41f4a7cfaa Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 13:51:08 +0800 Subject: [PATCH 16/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 277ff76..66adefb 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -113,7 +113,11 @@ class DeployKeys: def main(): - dk = DeployKeys() + import sys + project = sys.argv[1] + if not project: + raise Exception("PLS input project like loginserver_php!") + dk = DeployKeys(project) dk.run() From fd1cb4901a549c53506a1aae49785ddbd86965df Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 13:52:02 +0800 Subject: [PATCH 17/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 66adefb..94b0a69 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- -from myops.mmysql import MysqlBase -from myops.mansible import AnsibleAPI -from myops.mylog import define_logger +from ops.mmysql import MysqlBase +from ops.mansible import AnsibleAPI +from ops.mylog import define_logger import logging import datetime from config.config import args From 5716f422958b17756e501ce464389b85ca9685d3 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 13:54:00 +0800 Subject: [PATCH 18/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 94b0a69..2fc4f97 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -4,7 +4,6 @@ from ops.mansible import AnsibleAPI from ops.mylog import define_logger import logging import datetime -from config.config import args import os import tarfile import svn @@ -12,6 +11,12 @@ import shutil define_logger("/data/logs/ops/deploy_keys.log") log = logging.getLogger(__name__) +args = dict() +args['host'] = '10.10.3.5' +args['user'] = 'ops' +args['pswd'] = 'deploy2018' +args['db'] = 'ywplatform' + class DeployKeys: def __init__(self, project): From c5f111a2f53c46e271deeada1104b655441052fe Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 13:55:18 +0800 Subject: [PATCH 19/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 2fc4f97..48bb1c4 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- from ops.mmysql import MysqlBase from ops.mansible import AnsibleAPI -from ops.mylog import define_logger +from ops.mlog import define_logger import logging import datetime import os @@ -11,11 +11,11 @@ import shutil define_logger("/data/logs/ops/deploy_keys.log") log = logging.getLogger(__name__) -args = dict() -args['host'] = '10.10.3.5' -args['user'] = 'ops' -args['pswd'] = 'deploy2018' -args['db'] = 'ywplatform' +dbargs = dict() +dbargs['host'] = '10.10.3.5' +dbargs['user'] = 'ops' +dbargs['pswd'] = 'deploy2018' +dbargs['db'] = 'ywplatform' class DeployKeys: @@ -55,7 +55,7 @@ class DeployKeys: project_name="{self.project}" and env='{self.env}'""" - mydb = MysqlBase(**args) + mydb = MysqlBase(**dbargs) data = mydb.query(sql) ip_addr = list() if data: From 9e69a950b5d519e9d9bc42586770dd56f43b73c8 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 13:56:54 +0800 Subject: [PATCH 20/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 48bb1c4..13be4d3 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -8,6 +8,7 @@ import os import tarfile import svn import shutil +import pdb define_logger("/data/logs/ops/deploy_keys.log") log = logging.getLogger(__name__) @@ -58,6 +59,7 @@ class DeployKeys: mydb = MysqlBase(**dbargs) data = mydb.query(sql) ip_addr = list() + pdb.set_trace() if data: for line in data: try: From 043812f70e1f8b44a2c1d451edc31fc8183d010d Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:01:19 +0800 Subject: [PATCH 21/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 13be4d3..fd543ea 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -21,7 +21,7 @@ dbargs['db'] = 'ywplatform' class DeployKeys: def __init__(self, project): - self.env='test' + self.env='prod' self.project = project self.svn_base = f"/data/publish/svn/{self.env}" self.svn_paths = f"{self.svn_base}/{self.project}" From fdc40c8c8fc28f39f36c6aa3e738fcd29e62039f Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:04:36 +0800 Subject: [PATCH 22/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index fd543ea..3ca7b1b 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -30,20 +30,18 @@ class DeployKeys: def run(self): svn_path, ipadr = self.get_config() if svn_path: - shutil.rmtree(svn_path) + key_path = f"{svn_path}/keys" + args = dict() + tar_file = self.build_svn_tar(key_path) + if tar_file: + hostfile = self.build_hostfile() + args['hostfile'] = hostfile + args['tar_file'] = tar_file + self.ansible_deploy(args) + else: + log.error(f"tar file no found with {self.project}") else: - pass - os.system(f"mkdir -p {svn_path}") - key_path = f"{svn_path}/keys" - args = dict() - tar_file = self.build_svn_tar(key_path) - if tar_file: - hostfile = self.build_hostfile() - args['hostfile'] = hostfile - args['tar_file'] = tar_file - self.ansible_deploy(args) - else: - log.error(f"tar file no found with {self.project}") + raise Exception(f"{self.project} config not found in manager table!") def get_config(self): @@ -76,6 +74,9 @@ class DeployKeys: try: log.info("svn export config start") s = svn.remote.RemoteClient(svn_path) + if self.svn_paths: + shutil.rmtree(self.svn_paths) + s.export(self.svn_paths, force=True) log.info("svn export config success") except Exception: From 9d1c3114f6b71e4df199e890de54d657873600c6 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:23:43 +0800 Subject: [PATCH 23/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 3ca7b1b..eb3c776 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -2,6 +2,7 @@ from ops.mmysql import MysqlBase from ops.mansible import AnsibleAPI from ops.mlog import define_logger +from ops.common import run_cmd import logging import datetime import os @@ -29,10 +30,9 @@ class DeployKeys: def run(self): svn_path, ipadr = self.get_config() - if svn_path: - key_path = f"{svn_path}/keys" + if ipadr: args = dict() - tar_file = self.build_svn_tar(key_path) + tar_file = self.build_svn_tar() if tar_file: hostfile = self.build_hostfile() args['hostfile'] = hostfile @@ -57,7 +57,6 @@ class DeployKeys: mydb = MysqlBase(**dbargs) data = mydb.query(sql) ip_addr = list() - pdb.set_trace() if data: for line in data: try: @@ -70,31 +69,32 @@ class DeployKeys: return (svn_path, ip_addr) - def build_svn_tar(self, svn_path): + def build_svn_tar(self): try: log.info("svn export config start") - s = svn.remote.RemoteClient(svn_path) - if self.svn_paths: - shutil.rmtree(self.svn_paths) - - s.export(self.svn_paths, force=True) - log.info("svn export config success") + pdb.set_trace() + cmd = f"cd {self.svn_paths} && svn up" + status, output = run_cmd(cmd) + if status: + log.info("svn export config success") + else: + raise Exception("update svn failed!") except Exception: log.error(f"get remote {self.project} svn failed", exc_info=True) - else: - log.info("tarfile {0} config to tar.gz start".format(self.project)) - tar = tarfile.open(self.svn_paths + '.tar.gz', 'w:gz') - os.chdir(self.svn_paths) + + project_paths = os.path.join(self.svn_paths, self.project) + tar = tarfile.open(project_paths + '.tar.gz', 'w:gz') + os.chdir(self.project_paths) for f in os.listdir(self.svn_paths): tar.add(f) tar.close() # 判断是否有生成tar包 - list_dir = os.listdir(self.svn_base) + list_dir = os.listdir(project_paths) tar_files = list() for i in list_dir: - if i == "{0}.tar.gz".format(self.project) and os.path.isfile(os.path.join(self.basedir, i)): - tar_files.append(os.path.join(self.basedir, i)) + if i == "{0}.tar.gz".format(self.project) and os.path.isfile(os.path.join(project_paths, i)): + tar_files.append(os.path.join(project_paths, i)) if len(tar_files) == 1: log.info("tarfile {0} config to tar.gz success".format(self.project)) return tar_files @@ -111,6 +111,7 @@ class DeployKeys: return host_files def ansible_deploy(self, args): + pdb.set_trace() an = AnsibleAPI(args['hostfile']) data = {'dest_filename': 'x', 'source': 'x', 'project': 'x'} resule = an.run_playbook('deploy_keys.yml', **data) From b33374dc2641ca5573291f85efa3011725e2bef2 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:28:18 +0800 Subject: [PATCH 24/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index eb3c776..eea45bd 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -28,7 +28,10 @@ class DeployKeys: self.svn_paths = f"{self.svn_base}/{self.project}" + def run(self): + if not os.path.isdir(self.svn_paths): + self.svn_paths = f"/data/publish/svn/{self.env}/global/{self.project}" svn_path, ipadr = self.get_config() if ipadr: args = dict() From 9e99ede961cfeb286480b987e4f95a3cf5cd569a Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:32:13 +0800 Subject: [PATCH 25/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index eea45bd..26357e4 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -85,24 +85,24 @@ class DeployKeys: except Exception: log.error(f"get remote {self.project} svn failed", exc_info=True) - project_paths = os.path.join(self.svn_paths, self.project) - tar = tarfile.open(project_paths + '.tar.gz', 'w:gz') - os.chdir(self.project_paths) - for f in os.listdir(self.svn_paths): - tar.add(f) - tar.close() + project_paths = os.path.join(self.svn_paths, self.project) + tar = tarfile.open(project_paths + '.tar.gz', 'w:gz') + os.chdir(self.project_paths) + for f in os.listdir(self.svn_paths): + tar.add(f) + tar.close() - # 判断是否有生成tar包 - list_dir = os.listdir(project_paths) - tar_files = list() - for i in list_dir: - if i == "{0}.tar.gz".format(self.project) and os.path.isfile(os.path.join(project_paths, i)): - tar_files.append(os.path.join(project_paths, i)) - if len(tar_files) == 1: - log.info("tarfile {0} config to tar.gz success".format(self.project)) - return tar_files - else: - return None + # 判断是否有生成tar包 + list_dir = os.listdir(project_paths) + tar_files = list() + for i in list_dir: + if i == "{0}.tar.gz".format(self.project) and os.path.isfile(os.path.join(project_paths, i)): + tar_files.append(os.path.join(project_paths, i)) + if len(tar_files) == 1: + log.info("tarfile {0} config to tar.gz success".format(self.project)) + return tar_files + else: + return None def build_hostfile(self, ip_addr): From 6e896541c52f5bc4d4d591bf2b24a6a640972589 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:35:05 +0800 Subject: [PATCH 26/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 26357e4..62316da 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -86,9 +86,10 @@ class DeployKeys: log.error(f"get remote {self.project} svn failed", exc_info=True) project_paths = os.path.join(self.svn_paths, self.project) - tar = tarfile.open(project_paths + '.tar.gz', 'w:gz') - os.chdir(self.project_paths) - for f in os.listdir(self.svn_paths): + tar = tarfile.open(self.svn_paths + '.tar.gz', 'w:gz') + os.chdir(self.svn_paths) + key_dirs = os.path.join(self.svn_paths, "keys") + for f in os.listdir(key_dirs): tar.add(f) tar.close() From 7c1066bea3e9c5ce7231d90c43f03ce5a44cea55 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:44:17 +0800 Subject: [PATCH 27/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 62316da..3fc080f 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -76,7 +76,7 @@ class DeployKeys: try: log.info("svn export config start") pdb.set_trace() - cmd = f"cd {self.svn_paths} && svn up" + cmd = f"cd {self.svn_paths} && svn up && tar zcvf keys.tar.gz keys " status, output = run_cmd(cmd) if status: log.info("svn export config success") @@ -85,20 +85,20 @@ class DeployKeys: except Exception: log.error(f"get remote {self.project} svn failed", exc_info=True) - project_paths = os.path.join(self.svn_paths, self.project) - tar = tarfile.open(self.svn_paths + '.tar.gz', 'w:gz') - os.chdir(self.svn_paths) - key_dirs = os.path.join(self.svn_paths, "keys") - for f in os.listdir(key_dirs): - tar.add(f) - tar.close() + # project_paths = os.path.join(self.svn_paths, self.project) + # tar = tarfile.open(self.svn_paths + '.tar.gz', 'w:gz') + # os.chdir(self.svn_paths) + # key_dirs = os.path.join(self.svn_paths, "keys") + # for f in os.listdir(key_dirs): + # tar.add(f) + # tar.close() # 判断是否有生成tar包 - list_dir = os.listdir(project_paths) + list_dir = os.listdir(self.svn_paths) tar_files = list() for i in list_dir: - if i == "{0}.tar.gz".format(self.project) and os.path.isfile(os.path.join(project_paths, i)): - tar_files.append(os.path.join(project_paths, i)) + if i == "{0}.tar.gz".format(self.project) and os.path.isfile(os.path.join(self.svn_paths, i)): + tar_files.append(os.path.join(self.svn_paths, i)) if len(tar_files) == 1: log.info("tarfile {0} config to tar.gz success".format(self.project)) return tar_files From ca7b0108e7e46bc5feb332ffc4763aaeff36f03b Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:45:00 +0800 Subject: [PATCH 28/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 3fc080f..f5a452a 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -38,8 +38,9 @@ class DeployKeys: tar_file = self.build_svn_tar() if tar_file: hostfile = self.build_hostfile() + pdb.set_trace() args['hostfile'] = hostfile - args['tar_file'] = tar_file + args['tar_file'] = tar_file[0] self.ansible_deploy(args) else: log.error(f"tar file no found with {self.project}") From 7039c53e82566705ccb570df97d0afa61f403081 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:47:03 +0800 Subject: [PATCH 29/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index f5a452a..8b9a599 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -76,7 +76,6 @@ class DeployKeys: def build_svn_tar(self): try: log.info("svn export config start") - pdb.set_trace() cmd = f"cd {self.svn_paths} && svn up && tar zcvf keys.tar.gz keys " status, output = run_cmd(cmd) if status: @@ -98,7 +97,7 @@ class DeployKeys: list_dir = os.listdir(self.svn_paths) tar_files = list() for i in list_dir: - if i == "{0}.tar.gz".format(self.project) and os.path.isfile(os.path.join(self.svn_paths, i)): + if i.split('.')[-1] == "gz" and os.path.isfile(os.path.join(self.svn_paths, i)): tar_files.append(os.path.join(self.svn_paths, i)) if len(tar_files) == 1: log.info("tarfile {0} config to tar.gz success".format(self.project)) From 43a0a3b54e32d2bb06a57fc60d458ca850e55f36 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:47:43 +0800 Subject: [PATCH 30/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 8b9a599..9676061 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -37,7 +37,7 @@ class DeployKeys: args = dict() tar_file = self.build_svn_tar() if tar_file: - hostfile = self.build_hostfile() + hostfile = self.build_hostfile(ipadr) pdb.set_trace() args['hostfile'] = hostfile args['tar_file'] = tar_file[0] From 6a430f89ed3eaa2af468134b9ed7f226e443e198 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:52:05 +0800 Subject: [PATCH 31/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 3 ++- deploy/deploy_keys.yml | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 9676061..7548acb 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -117,7 +117,8 @@ class DeployKeys: def ansible_deploy(self, args): pdb.set_trace() an = AnsibleAPI(args['hostfile']) - data = {'dest_filename': 'x', 'source': 'x', 'project': 'x'} + tar_files = args['tar_file'].split('/')[-1] + data = {'dest_filename': tar_files, 'source': args['tar_file'], 'project': self.project} resule = an.run_playbook('deploy_keys.yml', **data) if not (resule['failed'] or resule['unreachable']): log.info(f"deploy keys with {self.p} success!") diff --git a/deploy/deploy_keys.yml b/deploy/deploy_keys.yml index 838aa63..31af548 100644 --- a/deploy/deploy_keys.yml +++ b/deploy/deploy_keys.yml @@ -2,10 +2,10 @@ tasks: - name: rsync deploy file - copy: src={{ source }} dest=/data/apps/{{ dest_filename }} + copy: src={{ source }} dest=/data/apps/{{ project }}/{{ dest_filename }} - name: back old config file shell: "rsync -avcp /data/app{{ project }}/keys /data/app{{ project }}/keys.old" - name: decomp file - shell: "cd /data/app/ && tar zxvf {{ dest_filename }} -C /data/apps/{{ project }} " \ No newline at end of file + shell: "cd /data/app/{{ project }} && tar zxvf {{ dest_filename }} " \ No newline at end of file From 6626cd59d3f2d0713e50da0f1c935298d4629702 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:55:21 +0800 Subject: [PATCH 32/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 4 ++-- deploy/deploy_keys.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 7548acb..1a9b4cc 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -121,9 +121,9 @@ class DeployKeys: data = {'dest_filename': tar_files, 'source': args['tar_file'], 'project': self.project} resule = an.run_playbook('deploy_keys.yml', **data) if not (resule['failed'] or resule['unreachable']): - log.info(f"deploy keys with {self.p} success!") + log.info(f"deploy keys with {self.project} success!") else: - log.error(f"{self.p} deploy keys failed,{resule}", exc_info=True) + log.error(f"{self.project} deploy keys failed,{resule}", exc_info=True) def main(): diff --git a/deploy/deploy_keys.yml b/deploy/deploy_keys.yml index 31af548..706e017 100644 --- a/deploy/deploy_keys.yml +++ b/deploy/deploy_keys.yml @@ -5,7 +5,7 @@ copy: src={{ source }} dest=/data/apps/{{ project }}/{{ dest_filename }} - name: back old config file - shell: "rsync -avcp /data/app{{ project }}/keys /data/app{{ project }}/keys.old" + shell: "rsync -avcp /data/app{{ project }}/keys /data/app/{{ project }}/keys.old" - name: decomp file shell: "cd /data/app/{{ project }} && tar zxvf {{ dest_filename }} " \ No newline at end of file From e16dec4c0a5c1fb7a40d32006bb4e37f81fbfb5b Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:56:30 +0800 Subject: [PATCH 33/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/deploy_keys.yml b/deploy/deploy_keys.yml index 706e017..5831974 100644 --- a/deploy/deploy_keys.yml +++ b/deploy/deploy_keys.yml @@ -5,7 +5,7 @@ copy: src={{ source }} dest=/data/apps/{{ project }}/{{ dest_filename }} - name: back old config file - shell: "rsync -avcp /data/app{{ project }}/keys /data/app/{{ project }}/keys.old" + shell: "rsync -avcp /data/app/{{ project }}/keys /data/app/{{ project }}/keys.old" - name: decomp file shell: "cd /data/app/{{ project }} && tar zxvf {{ dest_filename }} " \ No newline at end of file From d2adc3f1484424785925ed09bdc2528cde9cb858 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:57:56 +0800 Subject: [PATCH 34/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deploy/deploy_keys.yml b/deploy/deploy_keys.yml index 5831974..faa7463 100644 --- a/deploy/deploy_keys.yml +++ b/deploy/deploy_keys.yml @@ -5,7 +5,7 @@ copy: src={{ source }} dest=/data/apps/{{ project }}/{{ dest_filename }} - name: back old config file - shell: "rsync -avcp /data/app/{{ project }}/keys /data/app/{{ project }}/keys.old" + shell: "rsync -avcp /data/apps/{{ project }}/keys /data/apps/{{ project }}/keys.old" - name: decomp file - shell: "cd /data/app/{{ project }} && tar zxvf {{ dest_filename }} " \ No newline at end of file + shell: "cd /data/apps/{{ project }} && tar zxvf {{ dest_filename }} " \ No newline at end of file From 673717e405ac2bd299132d85bdfe51f3fbbaeda1 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 14:59:59 +0800 Subject: [PATCH 35/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 1a9b4cc..abbe77b 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -38,7 +38,6 @@ class DeployKeys: tar_file = self.build_svn_tar() if tar_file: hostfile = self.build_hostfile(ipadr) - pdb.set_trace() args['hostfile'] = hostfile args['tar_file'] = tar_file[0] self.ansible_deploy(args) @@ -115,7 +114,6 @@ class DeployKeys: return host_files def ansible_deploy(self, args): - pdb.set_trace() an = AnsibleAPI(args['hostfile']) tar_files = args['tar_file'].split('/')[-1] data = {'dest_filename': tar_files, 'source': args['tar_file'], 'project': self.project} From f4766c7025e3fbcab0e34d576795e09b471068c2 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 15:04:19 +0800 Subject: [PATCH 36/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index abbe77b..55d8c1a 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -1,4 +1,6 @@ # -*- coding: utf-8 -*- +# python3 deploy_keys.py cloud_php +# python3 deploy_keys.py loginserver_php from ops.mmysql import MysqlBase from ops.mansible import AnsibleAPI from ops.mlog import define_logger From 3386bdaba65ece3bbaf5eacdd8572fa8af791f0c Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 5 Nov 2019 15:41:42 +0800 Subject: [PATCH 37/40] =?UTF-8?q?=E6=B7=BB=E5=8A=A0keys=20=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/deploy_keys.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 55d8c1a..98a609f 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -42,9 +42,11 @@ class DeployKeys: hostfile = self.build_hostfile(ipadr) args['hostfile'] = hostfile args['tar_file'] = tar_file[0] - self.ansible_deploy(args) + if self.ansible_deploy(args): + return True else: log.error(f"tar file no found with {self.project}") + return False else: raise Exception(f"{self.project} config not found in manager table!") @@ -122,17 +124,20 @@ class DeployKeys: resule = an.run_playbook('deploy_keys.yml', **data) if not (resule['failed'] or resule['unreachable']): log.info(f"deploy keys with {self.project} success!") + return True else: log.error(f"{self.project} deploy keys failed,{resule}", exc_info=True) + return False def main(): - import sys - project = sys.argv[1] - if not project: - raise Exception("PLS input project like loginserver_php!") - dk = DeployKeys(project) - dk.run() + projects = ['loginserver_php', 'cloud_php'] + for project in projects: + dk = DeployKeys(project) + if not dk.run(): + msg = f"deploy {project} failed" + log.error(msg, exc_info=True) + raise Exception(msg) if __name__ == "__main__": From 618475e131c9822299f134b2e44e82b1d44d0ff7 Mon Sep 17 00:00:00 2001 From: pengtao Date: Tue, 3 Dec 2019 15:38:25 +0800 Subject: [PATCH 38/40] add gameid=2002 config --- data_channel/produce_ss_csv.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data_channel/produce_ss_csv.py b/data_channel/produce_ss_csv.py index 976a9e2..203542e 100644 --- a/data_channel/produce_ss_csv.py +++ b/data_channel/produce_ss_csv.py @@ -18,7 +18,7 @@ class ProduceSSCsv: def __init__(self): # self.base_path = "/data/git/ops_interface/myops/csv" self.base_path = "/tmp" - self.gameid_list = [1004, 1001, 2001, 1011] + self.gameid_list = [1004, 1001, 2001, 1011,2002] self.channelid = 6001 def write2csv(self, data): From a041fbabc3b40b3d8f46029ce1b98cf9082f2a2d Mon Sep 17 00:00:00 2001 From: pengtao Date: Wed, 4 Dec 2019 10:46:13 +0800 Subject: [PATCH 39/40] add gameid=2002 config --- data_channel/mp2shushu.py | 2 +- data_channel/ss_virtual_create.py | 103 ++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 data_channel/ss_virtual_create.py diff --git a/data_channel/mp2shushu.py b/data_channel/mp2shushu.py index f01d63c..9120954 100644 --- a/data_channel/mp2shushu.py +++ b/data_channel/mp2shushu.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import requests import logging -from myops.ss_virtual_create import SS_Virtual_command +from ss_virtual_create import SS_Virtual_command import json log = logging.getLogger(__name__) import pdb diff --git a/data_channel/ss_virtual_create.py b/data_channel/ss_virtual_create.py new file mode 100644 index 0000000..1c43f9d --- /dev/null +++ b/data_channel/ss_virtual_create.py @@ -0,0 +1,103 @@ +# -*- coding: utf-8 -*- + +from urllib.parse import unquote, quote, urlencode + +def my_quote(data): + if isinstance(data, dict): + return urlencode(data) + elif isinstance(data, str): + return quote(data) + + +class SS_Virtual_command: + def __init__(self): + self.ss_virtual_url = "http://10.10.3.14:8993/v1/ta/meta/prop/virtual/dict/create" + self.method = "post" + self.loginName = "root" + self.password = "kingsome2016" + + def run_cmd(self, cmd): + import subprocess + msg = "Starting run: %s " % cmd + print("run_cmd {0}".format(msg)) + cmdref = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) + output, error_info = cmdref.communicate() + if cmdref.returncode != 0: + if isinstance(error_info, list) or isinstance(error_info, tuple): + error_info = error_info[0] + msg = "RUN %s ERROR,error info: %s" % (cmd, error_info) + print(f"{msg},error output={output}") + return False + else: + print(f"Run Success,output was {output}") + return True + + + def upload_gameid(self): + filename = "/data/git/ops_interface/myops/csv/gameid.csv" + projectId = int(19) + createParam = {"commonHeader": {"projectId": 19}, + "mainColumn": {"property": {"columnName": "gameid", "tableType": 0}}, + "columns": [{"property": {"columnName": "gameid", "columnDesc": "主键ID", "selectType": "string"}}, + {"property": {"columnName": "gameid_china", "columnDesc": "游戏名称", "selectType": "string"}}]} + + body = {"projectId": projectId, "createParam": createParam, "loginName": self.loginName, + "password": self.password} + quote_body = my_quote(body) + + cmd = f"curl --header 'Accept: application/json' --form 'file=@{filename}' '{self.ss_virtual_url}?{quote_body}'" + print(cmd) + if self.run_cmd(cmd): + return True + else: + return False + + + def upload_2001_b_n(self): + filename = "/data/git/ops_interface/myops/csv/2001_b_n.csv" + projectId = int(22) + createParam = {"commonHeader": {"projectId": 22}, + "mainColumn": {"property": {"columnName": "#vp@b_n", "tableType": 0, "subTableType": "vprop_sql"}}, + "columns": [{"property": {"columnName": "b_n", "columnDesc": "跳转appid", "selectType": "string"}}, + {"property": {"columnName": "b_n_china", "columnDesc": "跳转中文名", "selectType": "string"}}]} + + body = {"projectId": projectId, "createParam": createParam, "loginName": self.loginName, + "password": self.password} + quote_body = my_quote(body) + + cmd = f"curl --header 'Accept: application/json' --form 'file=@{filename}' '{self.ss_virtual_url}?{quote_body}'" + print(cmd) + if self.run_cmd(cmd): + return True + else: + return False + + def upload_1004_button_name(self): + filename = "/data/git/ops_interface/myops/csv/1004_button_name.csv" + projectId = int(19) + createParam = {"commonHeader": {"projectId": 19}, + "mainColumn": {"property": {"columnName": "#vp@button_name", "tableType": 0, "subTableType": "vprop_sql"}}, + "columns": [{"property": {"columnName": "button_name", "columnDesc": "点击按钮属性", "selectType": "string"}}, + {"property": {"columnName": "button_name_cn", "columnDesc": "点击按钮属性(中文)", "selectType": "string"}}]} + + body = {"projectId": projectId, "createParam": createParam, "loginName": self.loginName, + "password": self.password} + quote_body = my_quote(body) + + cmd = f"curl --header 'Accept: application/json' --form 'file=@{filename}' '{self.ss_virtual_url}?{quote_body}'" + print(cmd) + if self.run_cmd(cmd): + return True + else: + return False + + + +def main(): + ss = SS_Virtual_command() + #ss.upload_gameid() + #ss.upload_2001_b_n() + ss.upload_1004_button_name() + +if __name__ == "__main__": + main() From 5741e971942c0f788ed0c89a4e092b6130c204d8 Mon Sep 17 00:00:00 2001 From: pengtao Date: Thu, 5 Dec 2019 20:20:42 +0800 Subject: [PATCH 40/40] add gameid=2002 config --- deploy/deploy_keys.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/deploy_keys.py b/deploy/deploy_keys.py index 98a609f..4713d07 100644 --- a/deploy/deploy_keys.py +++ b/deploy/deploy_keys.py @@ -79,7 +79,7 @@ class DeployKeys: def build_svn_tar(self): try: log.info("svn export config start") - cmd = f"cd {self.svn_paths} && svn up && tar zcvf keys.tar.gz keys " + cmd = f"cd {self.svn_paths} && svn cleanup && svn up && tar zcvf keys.tar.gz keys " status, output = run_cmd(cmd) if status: log.info("svn export config success")