44set -euo pipefail
55set -x
66
7+ env
8+
79# =======================================
810# Runtime default config
911# =======================================
10- VAR_ALIYUN_OSS_UTILS_VERSION =${VAR_ALIYUN_OSS_UTILS_VERSION :- 1.7.10 }
12+ VAR_TENCENT_COS_UTILS_VERSION =${VAR_TENCENT_COS_UTILS_VERSION :- v0.11.0-beta }
1113VAR_RPM_WORKBENCH_DIR=${VAR_RPM_WORKBENCH_DIR:-/ tmp/ output}
1214VAR_GPG_PRIV_KET=${VAR_GPG_PRIV_KET:-/ tmp/ rpm-gpg-publish.private}
1315VAR_GPG_PASSPHRASE=${VAR_GPG_PASSPHRASE:-/ tmp/ rpm-gpg-publish.passphrase}
@@ -37,29 +39,30 @@ func_gpg_key_load() {
3739}
3840
3941# =======================================
40- # OSS extension
42+ # COS extension
4143# =======================================
42- func_oss_utils_install () {
43- # ${1} - OSS util version
44- curl -o /usr/bin/ossutil64 " http ://gosspublic.alicdn. com/ossutil/ ${1} /ossutil64 "
45- chmod 755 /usr/bin/ossutil64
44+ func_cos_utils_install () {
45+ # ${1} - COS util version
46+ curl -o /usr/bin/coscli -L " https ://github. com/tencentyun/coscli/releases/download/ ${1} /coscli-linux "
47+ chmod 755 /usr/bin/coscli
4648}
4749
48- func_oss_utils_credential_init () {
49- # ${1} - OSS endpoint
50- # ${2} - ACCESS_KEY_ID
51- # ${3} - ACCESS_KEY_SECRET
52- cat > " $( eval echo ~ ${USER} ) /.ossutilconfig" << _EOC_
53- [Credentials]
54- language=EN
55- endpoint=${1}
56- accessKeyID=${2}
57- accessKeySecret=${3}
50+ func_cos_utils_credential_init () {
51+ # ${1} - COS endpoint
52+ # ${2} - COS SECRET_ID
53+ # ${3} - COS SECRET_KEY
54+ cat > " ${HOME} /.cos.yaml" << _EOC_
55+ cos:
56+ base:
57+ secretid: ${2}
58+ secretkey: ${3}
59+ sessiontoken: ""
60+ protocol: https
5861_EOC_
5962}
6063
6164# =======================================
62- # OSS repo extension
65+ # COS repo extension
6366# =======================================
6467func_repo_init () {
6568 # ${1} - repo workbench path
@@ -68,23 +71,23 @@ func_repo_init() {
6871
6972func_repo_clone () {
7073 # ${1} - bucket name
71- # ${2} - OSS path
74+ # ${2} - COS path
7275 # ${3} - target path
73- ossutil64 cp -r -f " oss ://${1} /packages/${2} " " ${3} "
76+ coscli -e " ${VAR_COS_ENDPOINT} " cp -r " cos ://${1} /packages/${2} " " ${3} "
7477}
7578
7679func_repo_backup () {
7780 # ${1} - bucket name
78- # ${2} - OSS path
81+ # ${2} - COS path
7982 # ${3} - backup tag
80- ossutil64 cp -r " oss ://${1} /packages/${2} " " oss ://${1} /packages/backup/${2} _${3} "
83+ coscli -e " ${VAR_COS_ENDPOINT} " cp -r " cos ://${1} /packages/${2} " " cos ://${1} /packages/backup/${2} _${3} "
8184}
8285
8386func_repo_backup_remove () {
8487 # ${1} - bucket name
85- # ${2} - OSS path
88+ # ${2} - COS path
8689 # ${3} - backup tag
87- ossutil64 rm -r -f " oss ://${1} /packages/backup/${2} _${3} "
90+ coscli -e " ${VAR_COS_ENDPOINT} " rm -r -f " cos ://${1} /packages/backup/${2} _${3} "
8891}
8992
9093func_repo_repodata_rebuild () {
@@ -105,17 +108,17 @@ func_repo_repodata_sign() {
105108func_repo_upload () {
106109 # ${1} - local path
107110 # ${2} - bucket name
108- # ${3} - OSS path
109- ossutil64 rm -r -f " oss ://${2} /packages/${3} "
110- ossutil64 cp -r " ${1} " " oss ://${2} /packages/${3} "
111+ # ${3} - COS path
112+ coscli -e " ${VAR_COS_ENDPOINT} " rm -r -f " cos ://${2} /packages/${3} "
113+ coscli -e " ${VAR_COS_ENDPOINT} " cp -r " ${1} " " cos ://${2} /packages/${3} "
111114}
112115
113116func_repo_publish () {
114117 # ${1} - CI bucket
115118 # ${2} - repo publish bucket
116- # ${3} - OSS path
117- ossutil64 rm -r -f " oss ://${2} /packages/${3} "
118- ossutil64 cp -r " oss ://${1} /packages/${3} " " oss ://${2} /packages"
119+ # ${3} - COS path
120+ coscli -e " ${VAR_COS_ENDPOINT} " rm -r -f " cos ://${2} /packages/${3} "
121+ coscli -e " ${VAR_COS_ENDPOINT} " cp -r " cos ://${1} /packages/${3} " " cos ://${2} /packages"
119122}
120123
121124# =======================================
@@ -124,20 +127,20 @@ func_repo_publish() {
124127case_opt=$1
125128
126129case ${case_opt} in
127- init_oss_utils )
128- func_oss_utils_install " ${VAR_ALIYUN_OSS_UTILS_VERSION } "
129- func_oss_utils_credential_init " ${VAR_OSS_ENDPOINT } " " ${ACCESS_KEY_ID } " " ${ACCESS_KEY_SECRET } "
130+ init_cos_utils )
131+ func_cos_utils_install " ${VAR_TENCENT_COS_UTILS_VERSION } "
132+ func_cos_utils_credential_init " ${VAR_COS_ENDPOINT } " " ${TENCENT_COS_SECRETID } " " ${TENCENT_COS_SECRETKEY } "
130133 ;;
131134repo_init)
132135 # create basic repo directory structure
133136 # useful when a new repo added
134137 func_repo_init /tmp
135138 ;;
136139repo_backup)
137- func_repo_backup " ${VAR_OSS_BUCKET_REPO } " " centos" " ${TAG_DATE} "
140+ func_repo_backup " ${VAR_COS_BUCKET_REPO } " " centos" " ${TAG_DATE} "
138141 ;;
139142repo_clone)
140- func_repo_clone " ${VAR_OSS_BUCKET_REPO } " " centos" /tmp
143+ func_repo_clone " ${VAR_COS_BUCKET_REPO } " " centos" /tmp/centos
141144 ;;
142145repo_package_sync)
143146 VAR_REPO_MAJOR_VER=(7 8)
@@ -152,13 +155,13 @@ repo_repodata_rebuild)
152155 func_repo_repodata_sign /tmp/centos
153156 ;;
154157repo_upload)
155- func_repo_upload /tmp/centos " ${VAR_OSS_BUCKET_CI } " " centos"
158+ func_repo_upload /tmp/centos " ${VAR_COS_BUCKET_CI } " " centos"
156159 ;;
157160repo_publish)
158- func_repo_publish " ${VAR_OSS_BUCKET_CI } " " ${VAR_OSS_BUCKET_REPO } " " centos"
161+ func_repo_publish " ${VAR_COS_BUCKET_CI } " " ${VAR_COS_BUCKET_REPO } " " centos"
159162 ;;
160163repo_backup_remove)
161- func_repo_backup_remove " ${VAR_OSS_BUCKET_REPO } " " centos" " ${TAG_DATE} "
164+ func_repo_backup_remove " ${VAR_COS_BUCKET_REPO } " " centos" " ${TAG_DATE} "
162165 ;;
163166rpm_gpg_sign)
164167 func_rpmsign_macros_init
0 commit comments