Skip to content

Commit c3f9fd0

Browse files
committed
feat: migrate oss to cos
1 parent de065f5 commit c3f9fd0

File tree

2 files changed

+46
-43
lines changed

2 files changed

+46
-43
lines changed

.github/workflows/publish.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ jobs:
1313
runs-on: ubuntu-18.04
1414
timeout-minutes: 60
1515
env:
16-
VAR_OSS_BUCKET_CI: ${{ secrets.VAR_OSS_BUCKET_CI }}
17-
VAR_OSS_BUCKET_REPO: ${{ secrets.VAR_OSS_BUCKET_REPO }}
18-
VAR_OSS_ENDPOINT: ${{ secrets.VAR_OSS_ENDPOINT }}
16+
VAR_COS_BUCKET_CI: ${{ secrets.VAR_COS_BUCKET_CI }}
17+
VAR_COS_BUCKET_REPO: ${{ secrets.VAR_COS_BUCKET_REPO }}
18+
VAR_COS_ENDPOINT: ${{ secrets.VAR_COS_ENDPOINT }}
1919
VAR_RPM_WORKBENCH_DIR: /tmp/output
2020

2121
steps:
@@ -106,10 +106,10 @@ jobs:
106106

107107
- name: RPM repo deps init
108108
env:
109-
ACCESS_KEY_ID: ${{ secrets.ACCESS_KEY_ID }}
110-
ACCESS_KEY_SECRET: ${{ secrets.ACCESS_KEY_SECRET }}
109+
TENCENT_COS_SECRETID: ${{ secrets.TENCENT_COS_SECRETID }}
110+
TENCENT_COS_SECRETKEY: ${{ secrets.TENCENT_COS_SECRETKEY }}
111111
run: |
112-
sudo -E ./utils/publish-rpm.sh init_oss_utils
112+
sudo -E ./utils/publish-rpm.sh init_cos_utils
113113
114114
- name: RPM repo init
115115
run: |

utils/publish-rpm.sh

Lines changed: 40 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@
44
set -euo pipefail
55
set -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}
1113
VAR_RPM_WORKBENCH_DIR=${VAR_RPM_WORKBENCH_DIR:-/tmp/output}
1214
VAR_GPG_PRIV_KET=${VAR_GPG_PRIV_KET:-/tmp/rpm-gpg-publish.private}
1315
VAR_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
# =======================================
6467
func_repo_init() {
6568
# ${1} - repo workbench path
@@ -68,23 +71,23 @@ func_repo_init() {
6871

6972
func_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

7679
func_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

8386
func_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

9093
func_repo_repodata_rebuild() {
@@ -105,17 +108,17 @@ func_repo_repodata_sign() {
105108
func_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

113116
func_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() {
124127
case_opt=$1
125128

126129
case ${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
;;
131134
repo_init)
132135
# create basic repo directory structure
133136
# useful when a new repo added
134137
func_repo_init /tmp
135138
;;
136139
repo_backup)
137-
func_repo_backup "${VAR_OSS_BUCKET_REPO}" "centos" "${TAG_DATE}"
140+
func_repo_backup "${VAR_COS_BUCKET_REPO}" "centos" "${TAG_DATE}"
138141
;;
139142
repo_clone)
140-
func_repo_clone "${VAR_OSS_BUCKET_REPO}" "centos" /tmp
143+
func_repo_clone "${VAR_COS_BUCKET_REPO}" "centos" /tmp/centos
141144
;;
142145
repo_package_sync)
143146
VAR_REPO_MAJOR_VER=(7 8)
@@ -152,13 +155,13 @@ repo_repodata_rebuild)
152155
func_repo_repodata_sign /tmp/centos
153156
;;
154157
repo_upload)
155-
func_repo_upload /tmp/centos "${VAR_OSS_BUCKET_CI}" "centos"
158+
func_repo_upload /tmp/centos "${VAR_COS_BUCKET_CI}" "centos"
156159
;;
157160
repo_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
;;
160163
repo_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
;;
163166
rpm_gpg_sign)
164167
func_rpmsign_macros_init

0 commit comments

Comments
 (0)