提要:原先前端的CICD是直接在代码中编写upload配置运用第三方的模块上传到OSS的,直接暴露了AccessKeyID和秘钥,这样做极其不安全,也给直接修改代码增加可能,所以想在打包命令中直接使用系统命令进行代码上传操作。
命令行工具ossutil
ossutil支持通过Windows、Linux和macOS系统以命令行方式管理OSS数据。官方文档:
https://help.aliyun.com/document_detail/50452.html
在运行CICD的服务器上执行操作:
1.运行以下命令下载ossutil。
wget http://gosspublic.alicdn.com/ossutil/1.7.8/ossutil64
2.运行以下命令修改文件执行权限。
chmod 755 ossutil64
3.将ossutil添加到系统命令中。
mv ossutil64 /usr/local/bin/
4.使用交互式配置生成配置文件。
ossutil64 config
根据提示填写配置文件的路径,AK,endpoint等,stsToken:使用STS临时授权账号访问OSS时需要配置该项,否则置空即可。
5.在打包编译的命令后,添加上传文件的操作。类似于系统命令中的cp,指定其配置文件,-r参数递归上传,-f参数不提示强制执行,dist为打包编译好的文件目录,$dev_bucket应为要上传的bucket名称,我这里填写为变量--需要再CICD环境变量中添加,以区别不同环境的文件。
- npm run build:dev
- ossutil64 --config-file /home/user/ossconfig/dev.conf cp -rf dist/ oss://$dev_bucket/