当前位置: 首页 > Linux

SVN通过hooks同步更新静态文件并上传OSS

时间:2023-04-07 00:31:22 Linux

SVN通过hooks同步更新静态文件并上传OSS需求:需要高频更新oss上多个bucket的不同目录内容。方案描述:在svn上创建一个或多个独立的库,在每个库中编辑hooks下的post-commit文件,添加命令。注意:需要安装ossutil64oss上传工具,配置ossutilconf文件,svn权限密码等。安装ossutil64并根据你的操作系统选择对应的二进制文件或压缩包,下载后运行对应的二进制文件。Linux系统(以64位系统为例)下载工具:wgethttp://gosspublic.alicdn.com/ossutil/1.6.0/ossutil64修改文件执行权限:chmod755ossutil64使用交互式配置生成配置文件:./ossutil64config此命令创建一个配置文件,其中存储配置信息。请输入配置文件路径(默认为:/home/user/.ossutilconfig,回车使用默认路径,如果用户设置为其他路径,需要将--config-file选项设置为该路径使用命令时):否输入配置文件路径,将使用默认的配置文件:/home/user/.ossutilconfig。对于以下配置,回车将跳过相关配置项的设置。请使用“helpconfig”命令查看配置项的具体含义。请输入endpoint:http://oss-cn-shenzhen.aliyuncs.com请输入accessKeyID:yourAccessKeyID请输入accessKeySecret:yourAccessKeySecret请输入stsToken:endpoint:填写Bucket所在地域的域名信息位于。详见访问域名和数据中心。accessKeyID:查看方法参见创建AccessKey。accessKeySecret:查看方法参见创建AccessKey。stsToken:可选,如果使用STS临时授权访问OSS,需要配置此项,否则可以留空。stsToken生成方式是指临时访问凭证创建专用版本库。创建版本库目录。选择目录后,mkdir-psvntest*创建一个版本库。事务#post-commit提交完成后触发#pre-revprop-change版本属性修改前触发事务#post-revprop-change版本属性修改后触发事务写入post-commit文件[root@hooks]#cd/data[root@hooks]#svncheckoutsvn://17.17.177.177/svntesttest在项目库的hooks/目录下新建一个post-commit文件[hookscript][root@hooks]#cdhooks/[root@hooks]#lspost-commitpost-lock.tmplpost-unlock.tmplpre-lock.tmplpre-revprop-change.tmplstart-commit.tmplpost-commit.tmplpost-revprop-change.tmplpre-commit.tmplpre-revprop-changepre-unlock.tmpl[root@hooks]#pwd/data/svn/svntest/hooks[root@hooks]#catpost-commit#!/bin/shREPOS="$1"REV="$2"mailer.pycommit"$REPOS""$REV"/path/to/mailer.confWEB=/data/testsvnupdate$WEB/data/shell/oss/ossutil64cp-r-f$WEBoss://dev/xxx/-c/data/shell/oss/oss.config/data/shell/oss/ossutil64cp-r-f$WEBoss://sit/xxx/-c/data/shell/oss/oss.config/data/shell/oss/ossutil64cp-r-f$WEBoss://uat/xxxx/-c/data/shell/oss/oss.config