diff --git a/deploy.sh b/deploy.sh index 16c4565..788f120 100644 --- a/deploy.sh +++ b/deploy.sh @@ -29,23 +29,22 @@ if [ $SKIP_GIT_PULL -eq 0 ]; then read -s GIT_PASSWORD echo "" - # 设置git凭据 - git config credential.helper store - echo "https://$GIT_USERNAME:$GIT_PASSWORD@gitea.com" > ~/.git-credentials - - # 拉取代码 - git pull origin main + # 直接使用URL中的用户名密码进行拉取 + git_url=$(git remote get-url origin) + if [[ $git_url == http* ]]; then + # 如果是http/https URL,替换为包含用户名密码的URL + git_url_with_auth=$(echo $git_url | sed "s|https://|https://$GIT_USERNAME:$GIT_PASSWORD@|") + git pull $git_url_with_auth main + else + # 如果是ssh或其他格式,使用expect或者让git自动处理 + echo "使用凭据拉取代码..." + git pull origin main + fi if [ $? -eq 0 ]; then echo "✓ 代码拉取成功" - # 清除git凭据 - rm -f ~/.git-credentials - git config --unset credential.helper else echo "✗ 代码拉取失败" - # 清除git凭据 - rm -f ~/.git-credentials - git config --unset credential.helper echo "是否继续部署? (y/n)" read -r CONTINUE_DEPLOY if [ "$CONTINUE_DEPLOY" != "y" ] && [ "$CONTINUE_DEPLOY" != "Y" ]; then