赞
踩
使用HbuilderX的可视化界面打包不得不说是非常方便,云打包但是事实上,当你试图于对开发和打包的任务进行分离的时候,会发现可视化打包不符合你的需求,它无疑提高了后者的时间成本,并让进行后者操作的人一脸蒙圈,我在干啥,这个开发完打包不就行了,产生了对分离这个任务的决定的怀疑。
当我想进行这项打包操作的时候,这个打包的时间成本,无疑需要加上由开发到发版的响应成本,这是损耗更有价值事情的成本。那这份成本,就需要我们进行降低
当你想仔细看这篇文章的时候,我认为这个问题不需要我进行解决。
这个问题我认为HbuilderX的使用方法,工具开发者的使用文档比我详细。
其实这个和上面一样,开发者写的比较完善,但是其实实际使用中我遇到了一些问题,因此说明一下。
使用HbuilderX cli 打包无非四步:打开软件,打开项目,打包,关闭项目。
打开软件:cli.exe open
打开项目 cli project open --path +项目的绝对地址
打包cli pack --project 项目 + --platform android --safemode true --android.packagename io.test --android.androidpacktype 1 --android.certalias --android.certfile --android.certpassword --isconfusion false --splashads false --rpads false --pushads false --exchange false
这个其实和可视化打包的配置一 一对应,按需配置就行,HbuilderX官网的配置文件说明写的很清楚。
需要注意的是safemode
这个属性,这个代表的是安心急速打包,如果不配置成开启状态,每一次都会默认为首次打包,这个等待时间不会是你想要的。
关闭项目:cli project close --path +项目地址
需要说明的是,这个cli的该功能似乎存在bug,不确定是否修复了,但还是说明一下,windows中的目录层级使用反斜杠是可行的,前三个步骤使用反斜杠可行,但是这个关闭项目的功能,必须使用正斜杠,否则无法准确找到路径。
需求:当代码有本地提交到远程仓库时,可以进行自动拉取
其实网上有很多,仓库本身也有说明文档,以后有时间再补,没有就不补了。
1.怎样让jenkins去触发windows上的程序
我使用了rpc,具体来说是xml-rpc,它可以调用服务端的函数,就和调用自己项目里的函数一样容易。
一个xmlrpc_client项目作为客户端,一个xmlrpc_server 项目作为服务端
而jenkins通过jenkinsfile文件启动客户端项目,在windows服务器上启动服务端。
2.流程
开发上传代码,然后jenkins拉取远程仓库代码,jenkins通过xmlrpc_client向windows服务器上的服务端发送请求,并调用服务端的函数和数据完成打包操作。
3.结构
4.xmlrpc_client和xmlrpc_server 具体的代码
我认为这部分是仁者见仁智者见智的,具体的内容就不填了
给个结构照猫画虎就行。
import xmlrpc.client
import argparse
import pathlib
import sys
import yaml
class Xmlrpc_client:
#argparse的用法略
#读取配置文件的方法略
server = xmlrpc.client.ServerProxy("http://" + host + ":" + post)
def test(self):
output= self.server.hello()
print("output:" + output)
import argparse import os import time import yaml import smtplib import os.path import pathlib import datetime import subprocess from builtins import str from pathlib import Path from email.header import Header from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from xmlrpc.server import SimpleXMLRPCServer from xmlrpc.server import SimpleXMLRPCRequestHandler class Xmlrpc_server: #argparse的用法略 #读取配置文件的方法略 #smtp邮箱配置代发略 #git拉取远程仓库略 #调用cmd指向打包命令略 def hello(self): return "success!" def main(self): with SimpleXMLRPCServer(('0.0.0.0',post), requestHandler=RequestHandler) as server: server.register_introspection_functions() server.register_function(self.hello) server.serve_forever() Xmlrpc_server().main()
主要说明了我的部署的过程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。