@@ -72,36 +72,56 @@ install_plugins: install_kodo_csi_driver install_kodofs_csi_driver
7272.PHONY : delete_plugins
7373delete_plugins : delete_kodo_csi_driver delete_kodofs_csi_driver
7474
75- .PHONY : docker/rclone
76- docker/rclone :
75+ .PHONY : download-rclone
76+ download-rclone :
77+ # 下载 amd64 版本
7778 curl -LJO# https://github.com/rclone/rclone/releases/download/$(RCLONE_VERSION ) /rclone-$(RCLONE_VERSION ) -linux-amd64.zip
7879 unzip rclone-$(RCLONE_VERSION ) -linux-amd64.zip
79- mv rclone-$(RCLONE_VERSION ) -linux-amd64/rclone docker/rclone
80- chmod +x docker/rclone
80+ [ -f " docker/amd64/rclone" ] && rm docker/amd64/rclone || :
81+ mv rclone-$(RCLONE_VERSION ) -linux-amd64/rclone docker/amd64/rclone
82+ chmod +x docker/amd64/rclone
8183 rm rclone-$(RCLONE_VERSION ) -linux-amd64.zip
8284 rm -rf rclone-$(RCLONE_VERSION ) -linux-amd64
8385
86+ # 下载 arm64 版本
87+ curl -LJO# https://github.com/rclone/rclone/releases/download/$(RCLONE_VERSION)/rclone-$(RCLONE_VERSION)-linux-arm64.zip
88+ unzip rclone-$(RCLONE_VERSION)-linux-arm64.zip
89+ [ -f "docker/arm64/rclone" ] && rm docker/arm64/rclone || :
90+ mv rclone-$(RCLONE_VERSION)-linux-arm64/rclone docker/arm64/rclone
91+ chmod +x docker/arm64/rclone
92+ rm rclone-$(RCLONE_VERSION)-linux-arm64.zip
93+ rm -rf rclone-$(RCLONE_VERSION)-linux-arm64
94+
8495# 下载kodofs二进制文件,由于kodofs是私有仓库,所以需要携带 Github API Token 才能下载
85- .PHONY : docker/ kodofs
86- docker/ kodofs :
96+ .PHONY : download- kodofs
97+ download- kodofs :
8798 @if [ -z $$ GITHUB_API_TOKEN ]; \
8899 then \
89100 echo " Please configure environment GITHUB_API_TOKEN" ; \
90101 exit 1; \
91102 fi
103+ # 下载 arm64
104+ [ -f " scripts/kodofs_linux_arm64" ] && rm scripts/kodofs_linux_arm64 || :
105+ cd scripts && bash get_gh_asset.sh qbox kodofs $(KODOFS_VERSION ) kodofs_linux_arm64
106+ [ -f " docker/arm64/kodofs" ] && rm docker/arm64/kodofs || :
107+ mv scripts/kodofs_linux_arm64 docker/arm64/kodofs
108+ chmod +x docker/arm64/kodofs
109+ # 下载 amd64
110+ [ -f " scripts/kodofs" ] && rm scripts/kodofs || :
92111 cd scripts && bash get_gh_asset.sh qbox kodofs $(KODOFS_VERSION ) kodofs
93- mv scripts/kodofs docker/kodofs
94- chmod +x docker/kodofs
95-
96- .PHONY : build_image
97- build_image : docker/rclone docker/kodofs
98- docker build --pull \
99- -t=" $( DOCKERHUB_ORGANIZATION) /$( DOCKERHUB_IMAGE) :$( VERSION) " \
100- -f Dockerfile .
112+ [ -f " docker/amd64/kodofs" ] && rm docker/amd64/kodofs || :
113+ mv scripts/kodofs docker/amd64/kodofs
114+ chmod +x docker/amd64/kodofs
101115
102116.PHONY : push_image
103- push_image : build_image
104- docker push " $( DOCKERHUB_ORGANIZATION) /$( DOCKERHUB_IMAGE) :$( VERSION) "
117+ push_image : docker/rclone docker/kodofs
118+ docker buildx create --name=CSIBuilder --driver docker-container --platform linux/amd64,linux/arm64
119+ docker buildx build --push \
120+ --builder CSIBuilder \
121+ --platform linux/amd64,linux/arm64 \
122+ -t "$(DOCKERHUB_ORGANIZATION ) /$(DOCKERHUB_IMAGE ) :$(VERSION ) " \
123+ -f Dockerfile \
124+ .
105125
106126.PHONY : install_kodo_static_example
107127install_kodo_static_example : k8s/kodo.yaml
0 commit comments