背景
现在一般公司的内部CI系统都用Jenkins实现,本地部署的时候我会将待测试文件下载到本地,再上传到Linux开发板,但能否从Linux开发板直接下载呢?只要Linux与Jenkins server之间的网络是联通的,那就可以
解决方法
使用Jenkins提供的脚本接口
Jenkins脚本接口的文档
配置步骤
步骤1,进入Dashboard
->Configure
界面
步骤2,在API Token
区域添加一次性token
点击add new token
名字切记输入英文字母,然后点击Generate按钮,右边会出现一次性token,点击灰色复制按钮就能复制到剪贴板
注意,API token是临时的,因此下载完毕前不要关闭此Configure页面!
实际使用
wget --auth-no-challenge --user=wanghaipeng --password=11a914998182764dc198ae9cb4dc1c33fb https://jenkins.aixin-chip.com/job/atf_bl31_signed.bin
封装成shell脚本,方便重复使用
脚本不妨命名为jd.sh
wget --auth-no-challenge --user=wanghaipeng --password=$1 $2
记得加上可执行权限。
调用示例:
$ /path/to/jd.sh 11b6ff9a0a1b15180fc28648b9f898918c https://jenkins.aixin-chip.com/job/atf_bl31_signed.bin
--2023-06-20 11:18:17-- https://jenkins.aixin-chip.com/job/atf_bl31_signed.bin
Resolving jenkins.aixin-chip.com (jenkins.aixin-chip.com)... 10.126.11.250
Connecting to jenkins.aixin-chip.com (jenkins.aixin-chip.com)|10.126.11.250|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 38214 (37K) [application/octet-stream]
Saving to: ‘atf_bl31_signed.bin’
atf_bl31_signed.bin 100%[==================================================================================>] 37.32K --.-KB/s in 0s
2023-06-20 11:18:18 (84.6 MB/s) - ‘atf_bl31_signed.bin’ saved [38214/38214]
总结
像Jenkins、Gitlab、Confluence之类可以内部部署的IT系统,一般都有脚本接口,善加利用可以提高工作效率。