OpenHarmony开发者论坛
标题:
ohpm publish xxx.har 发布第三方库,无法自动化发布
[打印本页]
作者:
xiehui
时间:
2024-5-16 19:27
标题:
ohpm publish xxx.har 发布第三方库,无法自动化发布
【问题描述】
发布第三方库需求部署jenkins上
ohpm publish xxx.har 需要输入密码,如何自动输入密码或者免密发布
手动发布,正常上传
(, 下载次数: 1)
上传
点击文件名下载附件
自动化脚本输入密码,报错:
(, 下载次数: 0)
上传
点击文件名下载附件
自动上传脚本:
output, error = subprocess.run(["ohpm", "publish", har_file], input="abcd\n", text=True)
作者:
xiehui
时间:
2024-5-17 10:09
或者使用这个脚本也不行
import pexpect
password_key = '.*assphrase of the private ke.*'
password = "abcd"
command = f'ohpm publish /xxx/xxx/xxx.har'
execute = pexpect.spawn(command)
execute.expect(password_key)
execute.sendline(password)
execute.expect(pexpect.EOF)
复制代码
作者:
椰青
时间:
2024-5-22 09:05
由于公开仓推包后是所有用户都能下载使用的,所以当前并不建议使用自动化的方式进行推包
如果确实有自动化推包的需求,可以尝试在输入密钥时,一个一个字符输入,每个字符输入的间隔穿插1s的等待,让程序能够正确读取到密码
execute.expect(password_key)
sleep 1
execute.sendline(a)
sleep 1
execute.sendline(b)
sleep 1
execute.sendline(c)
sleep 1
execute.sendline(d)
sleep 1
复制代码
作者:
xiehui
时间:
2024-5-22 16:08
回复
椰青
: 嗯嗯,谢谢,我已经解决了,我也发现要sleep了,不过没有所以python模块
#!/usr/bin/expect
set har_file [lindex $argv 0]
set passwd [lindex $argv 1]
#spawn ohpm publish
spawn ohpm publish $har_file
expect "*what is your passphrase of the private key:*"
send $passwd
sleep 2
send "\r"
sleep 10
send "exit\r"
expect eof
复制代码
作者:
lord_voldemort
时间:
2024-8-1 16:38
回复
椰青
: 能给一份详细的吗?我发现Python版本的不行,楼下shell的可以
作者:
椰青
时间:
2024-8-5 09:10
回复
lord_voldemort
: python我也不会哦,这里我只是给出一个解决问题的方案(输入密码之间需要停顿),具体的实现脚本还需要你自己去写下
作者:
lord_voldemort
时间:
2024-8-16 16:25
发现了一种新的方式AccessToken,可以跳过输入密码
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5