-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
de9b87b
commit 6b86e6c
Showing
1 changed file
with
67 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
要自动化上传Zip文件到GitHub Release assets,你可以编写一个shell脚本来完成这个过程。以下是一个基本的脚本示例,它使用`wget`来下载Zip文件,然后使用GitHub API来上传这个文件到指定的Release的assets中。 | ||
|
||
首先,你需要准备以下信息: | ||
- GitHub个人访问令牌(Personal Access Token,简称PAT) | ||
- 仓库的名称和所有者 | ||
- 要上传的Release的tag名 | ||
- 你想要上传的Zip文件的URL | ||
|
||
然后,你可以创建一个shell脚本,如下所示: | ||
|
||
```bash | ||
#!/bin/bash | ||
|
||
# 设置变量 | ||
GITHUB_TOKEN='你的GitHub个人访问令牌' | ||
REPO_OWNER='仓库的所有者' | ||
REPOSITORY='仓库的名称' | ||
TAG_NAME='要上传的Release的tag名' | ||
ZIP_URL='Zip文件的URL' | ||
ZIP_FILENAME='下载的Zip文件名,例如:my-app-1.0.0.zip' | ||
|
||
# 使用wget下载Zip文件 | ||
wget $ZIP_URL -O $ZIP_FILENAME | ||
|
||
# 检查wget命令是否成功执行 | ||
if [ $? -ne 0 ]; then | ||
echo "下载Zip文件失败" | ||
exit 1 | ||
fi | ||
|
||
# 获取Release的ID | ||
RELEASE_ID=$(curl -H "Authorization: token $GITHUB_TOKEN" \ | ||
"https://api.github.com/repos/$REPO_OWNER/$REPOSITORY/releases/tags/$TAG_NAME" | \ | ||
grep -Po '"id": \K\d+') | ||
|
||
# 上传文件到Release assets | ||
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ | ||
-H "Content-Type: application/zip" \ | ||
--data-binary "@$ZIP_FILENAME" \ | ||
"https://uploads.github.com/repos/$REPO_OWNER/$REPOSITORY/releases/$RELEASE_ID/assets?name=$ZIP_FILENAME" | ||
|
||
# 检查curl命令是否成功执行 | ||
if [ $? -eq 0 ]; then | ||
echo "上传成功" | ||
else | ||
echo "上传失败" | ||
fi | ||
|
||
# 清理下载的文件 | ||
rm $ZIP_FILENAME | ||
``` | ||
|
||
请将上述脚本中的占位符(例如`你的GitHub个人访问令牌`)替换为实际的值。确保你的GitHub个人访问令牌具有足够的权限来创建Release和上传assets。 | ||
|
||
将这个脚本保存为`.sh`文件,并在具有执行权限的情况下运行它。你可以使用以下命令来给予脚本执行权限: | ||
|
||
```bash | ||
chmod +x your-script-name.sh | ||
``` | ||
|
||
然后运行脚本: | ||
|
||
```bash | ||
./your-script-name.sh | ||
``` | ||
|
||
请注意,这个脚本使用了GitHub API的Upload a Release Asset端点,并且假定你已经有了一个存在的Release。如果Release不存在,你需要先创建一个Release,然后才能上传assets。此外,确保你的`wget`和`curl`命令在你的系统上可用。 |