Compare commits

...

1 Commits

Author SHA1 Message Date
Your Name bae409b962 fix: ci 2 years ago
  1. 9
      .drone.yml
  2. 92
      iot_upload.py

9
.drone.yml

@ -99,17 +99,18 @@ steps:
# # 自动授权 # # 自动授权
# - export projectCode="projectCode=project-inluar4ppcxvciefgb_ila" # - export projectCode="projectCode=project-inluar4ppcxvciefgb_ila"
- export isiot="True" # 要不要传iot - export isiot="True" # 要不要传iot
- export name="windows打包_测试版" # 应用名称(自行填写 必填)
- export version=$(cat .tags) # 应用版本
- export name=${DRONE_REPO_NAMESPACE}-${DRONE_REPO_NAME} # 应用名称(自行填写 必填)
- export version=exe_$(cat .tags) # 应用版本
- export sourceId="8" # 应用来源id(默认为8 即测试环境专用) //如需更改查看测试环境平台级下应用管理新增应用的/api/platform/v1/platformProgram/platformProgramAdd接口 - export sourceId="8" # 应用来源id(默认为8 即测试环境专用) //如需更改查看测试环境平台级下应用管理新增应用的/api/platform/v1/platformProgram/platformProgramAdd接口
- export genre="localpack" # 应用类型 本地资源包 [outchain, localpack] - export genre="localpack" # 应用类型 本地资源包 [outchain, localpack]
- export resolution="2160*3840竖屏" # 分辨率(自行填写)[1080*1920竖屏, 1920*1080横屏, 3840*2160横屏, 2160*3840竖屏] - export resolution="2160*3840竖屏" # 分辨率(自行填写)[1080*1920竖屏, 1920*1080横屏, 3840*2160横屏, 2160*3840竖屏]
- export package="/drone/src/Sources/Setup.exe" # 包名称 - export package="/drone/src/Sources/Setup.exe" # 包名称
- export des=$CI_COMMIT_MESSAGE # 应用描述 - export des=$CI_COMMIT_MESSAGE # 应用描述
- python3 iot_upload.py
- python3 iot_upload.py WindowsAPP
- export package="/drone/src/IOTContainer/$DRONE_REPO_NAME.$(cat .tags).zip" # 包名称 - export package="/drone/src/IOTContainer/$DRONE_REPO_NAME.$(cat .tags).zip" # 包名称
- python3 iot_upload.py
- export version=zip_$(cat .tags) # 应用版本
- python3 iot_upload.py WindowsAPP
when: when:
branch: branch:

92
iot_upload.py

@ -1,7 +1,7 @@
import json import json
import os import os
import requests import requests
import sys
def file_write(file_name,text_content): def file_write(file_name,text_content):
# charset() # charset()
@ -12,7 +12,10 @@ def file_write(file_name,text_content):
def dingtalk(cdn_url,packageUrl): def dingtalk(cdn_url,packageUrl):
tpl_for_dingtalk=f''' tpl_for_dingtalk=f'''
下载地址: "{cdn_url}{packageUrl}"
<font color=[TPL_STATUS_COLOR] size="3">
下载地址: (<a href="{cdn_url}{packageUrl}" target="_blank">{cdn_url}{packageUrl}</a>)
</font>
![image]([TPL_STATUS_PIC]) ![image]([TPL_STATUS_PIC])
@ -67,9 +70,92 @@ def platformAppAdd():
dingtalk(cdn_url,packageUrl) dingtalk(cdn_url,packageUrl)
# 应用管理-授权(获取code list)
def getPlatformProgramList():
bodyjson = {
'name': os.getenv('name'),
'version': os.getenv('version'),
'genre': os.getenv('genre'),
}
print (bodyjson)
url_platformAppAdd = os.getenv('url_for_iotplatform') + "/api/platform/v1/platformProgram/getPlatformProgramList/1/10"
headers = {'content-type': 'application/json;charset=UTF-8'}
r = requests.post(url_platformAppAdd, headers=headers, data=json.dumps(bodyjson))
print (type(json.loads(r.text)))
print (json.loads(r.text)['data']["listObject"][0]['code'])
return json.loads(r.text)['data']["listObject"][0]['code']
# 应用管理-授权
def multipleProgramToOneProject():
codeList = getPlatformProgramList()
bodyjson = {
"projectCode": os.getenv('projectCode'),
"codeList": [codeList]
}
print (bodyjson)
url_platformAppAdd = os.getenv('url_for_iotplatform') + "/api/platform/v1/platformProgram/multipleProgramToOneProject"
headers = {'content-type': 'application/json;charset=UTF-8'}
r = requests.post(url_platformAppAdd, headers=headers, data=json.dumps(bodyjson))
print (r.text)
# 应用管理-新增应用
def platformProgramAdd():
# with open(".tags") as f: version = f.read().strip()
logoFile = obsUpload(file=str(os.getenv('logo')), uploadType='logo')
packageFile = obsUpload(file=str(os.getenv('package')),uploadType='compress')
bodyjson = {
'name': os.getenv('name'),
'version': os.getenv('version'),
'genre': os.getenv('genre'),
'sourceId': os.getenv('sourceId'),
"resolution": os.getenv('resolution'),
'logoCode': logoFile['code'],
'logoUrl': logoFile['url'],
'packageCode': packageFile['code'],
'packageUrl': packageFile['url'],
'des': os.getenv('des')
}
print (bodyjson)
url_platformAppAdd = os.getenv('url_for_iotplatform') + "/api/platform/v1/platformProgram/platformProgramAdd"
headers = {'content-type': 'application/json;charset=UTF-8'}
r = requests.post(url_platformAppAdd, headers=headers, data=json.dumps(bodyjson))
print (r.text)
cdn_url = os.getenv('cdn_url')
packageUrl = packageFile['url']
dingtalk(cdn_url,packageUrl)
# 自动授权
# multipleProgramToOneProject()
def get_the_last_windowsApp(name):
bodyjson = {
'name': os.getenv('name'),
}
print (bodyjson)
url_platformAppAdd = os.getenv('url_for_iotplatform') + "/api/platform/v1/platformApp/getPlatformAppList/1/10"
headers = {'content-type': 'application/json;charset=UTF-8'}
r = requests.post(url_platformAppAdd, headers=headers, data=json.dumps(bodyjson))
print (r.text)
packageName=r.text['data']['packageName']
packageUrl=r.text['data']['packageUrl']
version=r.text['data']['version']
print(packageName)
print(packageUrl)
print(version)
return
if os.getenv("isiot") != 'False': if os.getenv("isiot") != 'False':
platformAppAdd()
if sys.argv[1] == "WindowsAPP":
platformAppAdd()
elif sys.argv[1] == "distZIP":
platformProgramAdd()
else: else:
print ("is not iot") print ("is not iot")
if os.getenv("DRONE_BRANCH") == 'master': if os.getenv("DRONE_BRANCH") == 'master':

Loading…
Cancel
Save