This commit is contained in:
weyu 2025-04-22 14:58:42 +08:00
parent ffa8f3722f
commit f80d348b3e
3 changed files with 396 additions and 215 deletions

View File

@ -9,26 +9,4 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Push To-To-To - name: Push To-To-To
run: | run: /bin/bash build.sh https://github.com/coredns/coredns.io.git
initdir=`pwd`
export initdir
source libs/common.sh
cat ${initdir}/sed/* > ${initdir}/toto.sed
for project in `cat push.list`
do
uuid=`date "+%s%N"`
workdir="${initdir}/tmp/${uuid}"
mkdir -p $workdir
git clone $project $workdir
log_info "=============================================> clone的仓库内容"
ls $workdir
find ./webs -name toto.sh -exec /bin/bash {} $workdir \;
src=`cat ${workdir}/ret-data|grep -v ^$|head -n 1`
ls -lha $src
log_info "检查或安装OSSUTIL然后将文件上传文件到OSS"
install_aliyun_ossutil
./ossutil --access-key-id ${{ secrets.ALIYUN_CYG_OSS_AK }} --access-key-secret ${{ secrets.ALIYUN_CYG_OSS_SK }} --endpoint ${{ secrets.ALIYUN_CYG_OSS_ENDPOINT }} --region ${{ secrets.ALIYUN_CYG_OSS_REGION }} cp -f ${src} oss://cncfstack-website/
done

235
build.sh
View File

@ -1,27 +1,226 @@
# #!/bin/bash # #!/bin/bash
# set -x # set -x
# initdir=`pwd` project=$1
# source libs/common.sh # 定义颜色变量
# install_aliyun_ossutil BLACK='\033[0;30m'
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
PURPLE='\033[0;35m'
CYAN='\033[0;36m'
WHITE='\033[0;37m'
NC='\033[0m'
# cat ${initdir}/sed/* > ${initdir}/toto.sed ############################################################
# log output
log_info(){
content="[INFO] $(date '+%Y-%m-%d %H:%M:%S') $@"
echo -e "${GREEN} ==> ${content} $NC"
}
# for project in `cat push.list` log_warn(){
# do content="[WARN] $(date '+%Y-%m-%d %H:%M:%S') $@"
# uuid=`date "+%s%N"` echo -e "${YELLOW} ==> ${content} $NC"
# workdir="${initdir}/tmp/${uuid}" }
# mkdir -p $workdir
# git clone $project $workdir
# log_info "=============================================> clone的仓库内容"
# ls $workdir
# find ./webs -name toto.sh -exec /bin/bash {} $workdir \;
# src=`cat ${workdir}/ret-data|grep -v ^$|head -n 1`
# ls -lha $src log_error(){
content="[ERROR] $(date '+%Y-%m-%d %H:%M:%S') $@"
echo -e "${RED} ==> ${content} $NC"
exit 1
}
# log_info "=============================================> 上传文件到OSS" install_hugo(){
# ./ossutil --access-key-id ${{ secrets.ALIYUN_CYG_OSS_AK }} --access-key-secret ${{ secrets.ALIYUN_CYG_OSS_SK }} --endpoint ${{ secrets.ALIYUN_CYG_OSS_ENDPOINT }} --region ${{ secrets.ALIYUN_CYG_OSS_REGION }} cp -f ${src} oss://cncfstack-website/
# done if [ -z "$1" ];then
hugo_url="https://github.com/gohugoio/hugo/releases/download/v0.133.0/hugo_extended_0.133.0_linux-amd64.tar.gz"
else
hugo_url=$1
fi
pkg_name=`echo $hugo_url|awk -F'/' '{print $NF}'`
log_info "=============================================> 下载并安装 hugo: $pkg_name"
wget -q $hugo_url -O $pkg_name
tar xf $pkg_name
sudo cp ./hugo /usr/bin/
sudo chmod +x /usr/bin/hugo
if [ ! -x "/usr/bin/hugo" ];then
log_error "=============================================> hugo 安装失败: /usr/bin/hugo 文件不存在或者没有成功设置可执行权限"
fi
}
install_hugo_v65_3(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.65.3/hugo_extended_0.65.3_Linux-64bit.tar.gz"
}
install_hugo_v66(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.66.0/hugo_extended_0.66.0_Linux-64bit.tar.gz"
}
install_hugo_v68_3(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.68.3/hugo_extended_0.68.3_Linux-64bit.tar.gz"
}
install_hugo_v80(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.80.0/hugo_extended_0.80.0_Linux-64bit.tar.gz"
}
install_hugo_v83_1(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.83.1/hugo_extended_0.83.1_Linux-64bit.tar.gz"
}
install_hugo_v93_2(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.93.2/hugo_extended_0.93.2_Linux-64bit.tar.gz"
}
install_hugo_v99_1(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.99.1/hugo_extended_0.99.1_Linux-64bit.tar.gz"
}
install_hugo_v100_2(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.100.2/hugo_extended_0.100.2_Linux-64bit.tar.gz"
}
install_hugo_v102_3(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.102.3/hugo_extended_0.102.3_Linux-64bit.tar.gz"
}
install_hugo_v108(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.108.0/hugo_extended_0.108.0_Linux-64bit.tar.gz"
}
install_hugo_v111_3(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.111.3/hugo_extended_0.111.3_linux-amd64.tar.gz"
}
install_hugo_v114(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.114.0/hugo_extended_0.114.0_linux-amd64.tar.gz"
}
install_hugo_v120(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.120.0/hugo_extended_0.120.0_linux-amd64.tar.gz"
}
install_hugo_v122(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.122.0/hugo_extended_0.122.0_linux-amd64.tar.gz"
}
install_hugo_v124_1(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.124.1/hugo_extended_0.124.1_linux-amd64.tar.gz"
}
install_hugo_v136_5(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.136.5/hugo_extended_0.136.5_linux-amd64.tar.gz"
}
install_hugo_v139_3(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.139.3/hugo_extended_0.139.3_linux-amd64.tar.gz"
}
install_hugo_v143_1(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.143.1/hugo_extended_0.143.1_linux-amd64.tar.gz"
}
install_hugo_v145(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.145.0/hugo_extended_0.145.0_linux-amd64.tar.gz"
}
install_postcss(){
log_info "=============================================> 安装 postCSS"
npm i -D postcss postcss-cli autoprefixer
}
check_cdn_change(){
log_info "=============================================> 以下文件进行了 cdn 替换,请确认文件在 https://cdn.cncfstack.com 是否存在"
grep "cdn.cncfstack.com" ./* -R |grep -v "otocn\.sed"|awk -F':' '{print $1}'
}
check_not_change(){
log_info "=============================================> 以下可能的外部文件未被处理"
# 有些图标表情使用 CDN 的 SVG这类也可以代理。TODO有些svg中会包含地址这类是不需要处理的但是会grep出来。不移除会有大量的无效信息还是不显示svg内容根据实际情况单独处理
# raw.githubusercontent.com 是 github 的内容,太多输出了,有依赖单独处理吧
grep -iEo "(maxcdn.bootstrapcdn.com|code.jquery.com|cdnjs.cloudflare.com|cdn-images.mailchimp.com|cdn.jsdelivr.net|fonts.googleapis.com|unpkg.com|www.googletagmanager.com)" ./* -R |grep -vE "(\.sh\:|\.md\:|\.toml|index\.rss\.xml|README\.txt\:|otocn\.sed\:|\.svg\:|node_modules)"
}
find_and_sed(){
# 查找可能存在外部地址的文件,
# 对于其他文件即使包含外部地址也不需要处理,比如 svg 图片中的google字体地址
find . -type f \( -iname "*.txt" \
-o -iname "*.md" \
-o -iname "*.toml" \
-o -iname "*.js" \
-o -iname "*.mjs" \
-o -iname "*.html" \
-o -iname "*.css" \
-o -iname "*.sass" \
-o -iname "*.scss" \
-o -iname "*.tpl" \
-o -iname "*.rst" \) > ${workdir}/filelist
cat ${workdir}/../sed/* > ${workdir}/../toto.sed
# 循环依次处理可能包含外部链接的文件,并进行替换
for file in `cat ${workdir}/filelist`
do
sudo sed -i -f toto.sed $file
done
check_cdn_change
check_not_change
}
# 可以指定处理的路径,这在构建完成后再进行替换时很有用
find_and_sed_v2(){
path=$1
# 查找可能存在外部地址的文件,
# 对于其他文件即使包含外部地址也不需要处理,比如 svg 图片中的google字体地址
find $path -type f -iname "*.txt" \
-o -iname "*.md" \
-o -iname "*.toml" \
-o -iname "*.js" \
-o -iname "*.mjs" \
-o -iname "*.html" \
-o -iname "*.css" \
-o -iname "*.sass" \
-o -iname "*.scss" \
-o -iname "*.tpl" \
-o -iname "*.rst" > ${workdir}/filelist
cat ${workdir}/../sed/* > ${workdir}/../toto.sed
# 循环依次处理可能包含外部链接的文件,并进行替换
for file in `cat ${workdir}/filelist`
do
sudo sed -i -f ${workdir}/../toto.sed $file
done
check_cdn_change
#check_not_change
}
install_aliyun_ossutil(){
if [ ! -f ./ossutil ];then
log_info "=============================================> 当前路径下无 ossutil下载并安装到本地 ./ossutil 和 /usr/bin/ossutil"
wget -q -O ossutil-2.0.6-beta.01091200-linux-amd64.zip https://gosspublic.alicdn.com/ossutil/v2-beta/2.0.6-beta.01091200/ossutil-2.0.6-beta.01091200-linux-amd64.zip
unzip ossutil-2.0.6-beta.01091200-linux-amd64.zip
cp ossutil-2.0.6-beta.01091200-linux-amd64/ossutil ./ossutil
chmod +x ./ossutil
sudo cp ./ossutil /usr/bin/
fi
}
debug_tools(){
log_info "===debug info"
ls -lha
pwd
log_info "===debug info"
}
uuid=`date "+%s%N"`
workdir="${initdir}/${uuid}"
mkdir -p $workdir
git clone $project $workdir
log_info "clone的仓库内容"
ls $workdir
find ./webs -name toto.sh -exec /bin/bash {} $workdir \;
src=`cat ${workdir}/ret-data|grep -v ^$|head -n 1`
ls -lha $src
log_info "检查或安装OSSUTIL然后将文件上传文件到OSS"
install_aliyun_ossutil
./ossutil --access-key-id ${{ secrets.ALIYUN_CYG_OSS_AK }} --access-key-secret ${{ secrets.ALIYUN_CYG_OSS_SK }} --endpoint ${{ secrets.ALIYUN_CYG_OSS_ENDPOINT }} --region ${{ secrets.ALIYUN_CYG_OSS_REGION }} cp -f ${src} oss://cncfstack-website/

View File

@ -1,202 +1,206 @@
# 定义颜色变量 # # 定义颜色变量
BLACK='\033[0;30m' # BLACK='\033[0;30m'
RED='\033[0;31m' # RED='\033[0;31m'
GREEN='\033[0;32m' # GREEN='\033[0;32m'
YELLOW='\033[0;33m' # YELLOW='\033[0;33m'
BLUE='\033[0;34m' # BLUE='\033[0;34m'
PURPLE='\033[0;35m' # PURPLE='\033[0;35m'
CYAN='\033[0;36m' # CYAN='\033[0;36m'
WHITE='\033[0;37m' # WHITE='\033[0;37m'
NC='\033[0m' # NC='\033[0m'
############################################################ # ############################################################
# log output # # log output
log_info(){ # log_info(){
content="[INFO] $(date '+%Y-%m-%d %H:%M:%S') $@" # content="[INFO] $(date '+%Y-%m-%d %H:%M:%S') $@"
echo -e "${GREEN} ==> ${content} $NC" # echo -e "${GREEN} ==> ${content} $NC"
} # }
log_warn(){ # log_warn(){
content="[WARN] $(date '+%Y-%m-%d %H:%M:%S') $@" # content="[WARN] $(date '+%Y-%m-%d %H:%M:%S') $@"
echo -e "${YELLOW} ==> ${content} $NC" # echo -e "${YELLOW} ==> ${content} $NC"
} # }
log_error(){ # log_error(){
content="[ERROR] $(date '+%Y-%m-%d %H:%M:%S') $@" # content="[ERROR] $(date '+%Y-%m-%d %H:%M:%S') $@"
echo -e "${RED} ==> ${content} $NC" # echo -e "${RED} ==> ${content} $NC"
exit 1 # exit 1
} # }
install_hugo(){ # install_hugo(){
if [ -z "$1" ];then # if [ -z "$1" ];then
hugo_url="https://github.com/gohugoio/hugo/releases/download/v0.133.0/hugo_extended_0.133.0_linux-amd64.tar.gz" # hugo_url="https://github.com/gohugoio/hugo/releases/download/v0.133.0/hugo_extended_0.133.0_linux-amd64.tar.gz"
else # else
hugo_url=$1 # hugo_url=$1
fi # fi
pkg_name=`echo $hugo_url|awk -F'/' '{print $NF}'` # pkg_name=`echo $hugo_url|awk -F'/' '{print $NF}'`
log_info "=============================================> 下载并安装 hugo: $pkg_name" # log_info "=============================================> 下载并安装 hugo: $pkg_name"
wget -q $hugo_url -O $pkg_name # wget -q $hugo_url -O $pkg_name
tar xf $pkg_name # tar xf $pkg_name
sudo cp ./hugo /usr/bin/ # sudo cp ./hugo /usr/bin/
sudo chmod +x /usr/bin/hugo # sudo chmod +x /usr/bin/hugo
if [ ! -x "/usr/bin/hugo" ];then # if [ ! -x "/usr/bin/hugo" ];then
log_error "=============================================> hugo 安装失败: /usr/bin/hugo 文件不存在或者没有成功设置可执行权限" # log_error "=============================================> hugo 安装失败: /usr/bin/hugo 文件不存在或者没有成功设置可执行权限"
fi # fi
} # }
install_hugo_v65_3(){ # install_hugo_v65_3(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.65.3/hugo_extended_0.65.3_Linux-64bit.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.65.3/hugo_extended_0.65.3_Linux-64bit.tar.gz"
} # }
install_hugo_v66(){ # install_hugo_v66(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.66.0/hugo_extended_0.66.0_Linux-64bit.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.66.0/hugo_extended_0.66.0_Linux-64bit.tar.gz"
} # }
install_hugo_v68_3(){ # install_hugo_v68_3(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.68.3/hugo_extended_0.68.3_Linux-64bit.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.68.3/hugo_extended_0.68.3_Linux-64bit.tar.gz"
} # }
install_hugo_v80(){ # install_hugo_v80(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.80.0/hugo_extended_0.80.0_Linux-64bit.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.80.0/hugo_extended_0.80.0_Linux-64bit.tar.gz"
} # }
install_hugo_v83_1(){ # install_hugo_v83_1(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.83.1/hugo_extended_0.83.1_Linux-64bit.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.83.1/hugo_extended_0.83.1_Linux-64bit.tar.gz"
} # }
install_hugo_v93_2(){ # install_hugo_v93_2(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.93.2/hugo_extended_0.93.2_Linux-64bit.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.93.2/hugo_extended_0.93.2_Linux-64bit.tar.gz"
} # }
install_hugo_v99_1(){ # install_hugo_v99_1(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.99.1/hugo_extended_0.99.1_Linux-64bit.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.99.1/hugo_extended_0.99.1_Linux-64bit.tar.gz"
} # }
install_hugo_v100_2(){ # install_hugo_v100_2(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.100.2/hugo_extended_0.100.2_Linux-64bit.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.100.2/hugo_extended_0.100.2_Linux-64bit.tar.gz"
} # }
install_hugo_v102_3(){ # install_hugo_v102_3(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.102.3/hugo_extended_0.102.3_Linux-64bit.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.102.3/hugo_extended_0.102.3_Linux-64bit.tar.gz"
} # }
install_hugo_v108(){ # install_hugo_v108(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.108.0/hugo_extended_0.108.0_Linux-64bit.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.108.0/hugo_extended_0.108.0_Linux-64bit.tar.gz"
} # }
install_hugo_v111_3(){ # install_hugo_v111_3(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.111.3/hugo_extended_0.111.3_linux-amd64.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.111.3/hugo_extended_0.111.3_linux-amd64.tar.gz"
} # }
install_hugo_v114(){ # install_hugo_v114(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.114.0/hugo_extended_0.114.0_linux-amd64.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.114.0/hugo_extended_0.114.0_linux-amd64.tar.gz"
} # }
install_hugo_v120(){ # install_hugo_v120(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.120.0/hugo_extended_0.120.0_linux-amd64.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.120.0/hugo_extended_0.120.0_linux-amd64.tar.gz"
} # }
install_hugo_v122(){ # install_hugo_v122(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.122.0/hugo_extended_0.122.0_linux-amd64.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.122.0/hugo_extended_0.122.0_linux-amd64.tar.gz"
} # }
install_hugo_v124_1(){ # install_hugo_v124_1(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.124.1/hugo_extended_0.124.1_linux-amd64.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.124.1/hugo_extended_0.124.1_linux-amd64.tar.gz"
} # }
install_hugo_v136_5(){ # install_hugo_v136_5(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.136.5/hugo_extended_0.136.5_linux-amd64.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.136.5/hugo_extended_0.136.5_linux-amd64.tar.gz"
} # }
install_hugo_v139_3(){ # install_hugo_v139_3(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.139.3/hugo_extended_0.139.3_linux-amd64.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.139.3/hugo_extended_0.139.3_linux-amd64.tar.gz"
} # }
install_hugo_v143_1(){ # install_hugo_v143_1(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.143.1/hugo_extended_0.143.1_linux-amd64.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.143.1/hugo_extended_0.143.1_linux-amd64.tar.gz"
} # }
install_hugo_v145(){ # install_hugo_v145(){
install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.145.0/hugo_extended_0.145.0_linux-amd64.tar.gz" # install_hugo "https://github.com/gohugoio/hugo/releases/download/v0.145.0/hugo_extended_0.145.0_linux-amd64.tar.gz"
} # }
install_postcss(){ # install_postcss(){
log_info "=============================================> 安装 postCSS" # log_info "=============================================> 安装 postCSS"
npm i -D postcss postcss-cli autoprefixer # npm i -D postcss postcss-cli autoprefixer
} # }
check_cdn_change(){ # check_cdn_change(){
log_info "=============================================> 以下文件进行了 cdn 替换,请确认文件在 https://cdn.cncfstack.com 是否存在" # log_info "=============================================> 以下文件进行了 cdn 替换,请确认文件在 https://cdn.cncfstack.com 是否存在"
grep "cdn.cncfstack.com" ./* -R |grep -v "otocn\.sed"|awk -F':' '{print $1}' # grep "cdn.cncfstack.com" ./* -R |grep -v "otocn\.sed"|awk -F':' '{print $1}'
} # }
check_not_change(){ # check_not_change(){
log_info "=============================================> 以下可能的外部文件未被处理" # log_info "=============================================> 以下可能的外部文件未被处理"
# 有些图标表情使用 CDN 的 SVG这类也可以代理。TODO有些svg中会包含地址这类是不需要处理的但是会grep出来。不移除会有大量的无效信息还是不显示svg内容根据实际情况单独处理 # # 有些图标表情使用 CDN 的 SVG这类也可以代理。TODO有些svg中会包含地址这类是不需要处理的但是会grep出来。不移除会有大量的无效信息还是不显示svg内容根据实际情况单独处理
# raw.githubusercontent.com 是 github 的内容,太多输出了,有依赖单独处理吧 # # raw.githubusercontent.com 是 github 的内容,太多输出了,有依赖单独处理吧
grep -iEo "(maxcdn.bootstrapcdn.com|code.jquery.com|cdnjs.cloudflare.com|cdn-images.mailchimp.com|cdn.jsdelivr.net|fonts.googleapis.com|unpkg.com|www.googletagmanager.com)" ./* -R |grep -vE "(\.sh\:|\.md\:|\.toml|index\.rss\.xml|README\.txt\:|otocn\.sed\:|\.svg\:|node_modules)" # grep -iEo "(maxcdn.bootstrapcdn.com|code.jquery.com|cdnjs.cloudflare.com|cdn-images.mailchimp.com|cdn.jsdelivr.net|fonts.googleapis.com|unpkg.com|www.googletagmanager.com)" ./* -R |grep -vE "(\.sh\:|\.md\:|\.toml|index\.rss\.xml|README\.txt\:|otocn\.sed\:|\.svg\:|node_modules)"
} # }
find_and_sed(){ # find_and_sed(){
# 查找可能存在外部地址的文件, # # 查找可能存在外部地址的文件,
# 对于其他文件即使包含外部地址也不需要处理,比如 svg 图片中的google字体地址 # # 对于其他文件即使包含外部地址也不需要处理,比如 svg 图片中的google字体地址
find . -type f \( -iname "*.txt" \ # find . -type f \( -iname "*.txt" \
-o -iname "*.md" \ # -o -iname "*.md" \
-o -iname "*.toml" \ # -o -iname "*.toml" \
-o -iname "*.js" \ # -o -iname "*.js" \
-o -iname "*.mjs" \ # -o -iname "*.mjs" \
-o -iname "*.html" \ # -o -iname "*.html" \
-o -iname "*.css" \ # -o -iname "*.css" \
-o -iname "*.sass" \ # -o -iname "*.sass" \
-o -iname "*.scss" \ # -o -iname "*.scss" \
-o -iname "*.tpl" \ # -o -iname "*.tpl" \
-o -iname "*.rst" \) > ${workdir}/filelist # -o -iname "*.rst" \) > ${workdir}/filelist
# 循环依次处理可能包含外部链接的文件,并进行替换 # cat ${workdir}/../sed/* > ${workdir}/../toto.sed
for file in `cat ${workdir}/filelist`
do
sudo sed -i -f toto.sed $file
done
check_cdn_change # # 循环依次处理可能包含外部链接的文件,并进行替换
check_not_change # for file in `cat ${workdir}/filelist`
} # do
# sudo sed -i -f toto.sed $file
# done
# 可以指定处理的路径,这在构建完成后再进行替换时很有用 # check_cdn_change
find_and_sed_v2(){ # check_not_change
path=$1 # }
# 查找可能存在外部地址的文件,
# 对于其他文件即使包含外部地址也不需要处理,比如 svg 图片中的google字体地址
find $path -type f -iname "*.txt" \
-o -iname "*.md" \
-o -iname "*.toml" \
-o -iname "*.js" \
-o -iname "*.mjs" \
-o -iname "*.html" \
-o -iname "*.css" \
-o -iname "*.sass" \
-o -iname "*.scss" \
-o -iname "*.tpl" \
-o -iname "*.rst" > ${workdir}/filelist
# 循环依次处理可能包含外部链接的文件,并进行替换 # # 可以指定处理的路径,这在构建完成后再进行替换时很有用
for file in `cat ${workdir}/filelist` # find_and_sed_v2(){
do # path=$1
sudo sed -i -f ${initdir}/toto.sed $file # # 查找可能存在外部地址的文件,
done # # 对于其他文件即使包含外部地址也不需要处理,比如 svg 图片中的google字体地址
# find $path -type f -iname "*.txt" \
# -o -iname "*.md" \
# -o -iname "*.toml" \
# -o -iname "*.js" \
# -o -iname "*.mjs" \
# -o -iname "*.html" \
# -o -iname "*.css" \
# -o -iname "*.sass" \
# -o -iname "*.scss" \
# -o -iname "*.tpl" \
# -o -iname "*.rst" > ${workdir}/filelist
check_cdn_change # cat ${workdir}/../sed/* > ${workdir}/../toto.sed
#check_not_change
} # # 循环依次处理可能包含外部链接的文件,并进行替换
# for file in `cat ${workdir}/filelist`
# do
# sudo sed -i -f ${workdir}/../toto.sed $file
# done
# check_cdn_change
# #check_not_change
# }
install_aliyun_ossutil(){ # install_aliyun_ossutil(){
if [ ! -f ./ossutil ];then # if [ ! -f ./ossutil ];then
log_info "=============================================> 当前路径下无 ossutil下载并安装到本地 ./ossutil 和 /usr/bin/ossutil" # log_info "=============================================> 当前路径下无 ossutil下载并安装到本地 ./ossutil 和 /usr/bin/ossutil"
wget -q -O ossutil-2.0.6-beta.01091200-linux-amd64.zip https://gosspublic.alicdn.com/ossutil/v2-beta/2.0.6-beta.01091200/ossutil-2.0.6-beta.01091200-linux-amd64.zip # wget -q -O ossutil-2.0.6-beta.01091200-linux-amd64.zip https://gosspublic.alicdn.com/ossutil/v2-beta/2.0.6-beta.01091200/ossutil-2.0.6-beta.01091200-linux-amd64.zip
unzip ossutil-2.0.6-beta.01091200-linux-amd64.zip # unzip ossutil-2.0.6-beta.01091200-linux-amd64.zip
cp ossutil-2.0.6-beta.01091200-linux-amd64/ossutil ./ossutil # cp ossutil-2.0.6-beta.01091200-linux-amd64/ossutil ./ossutil
chmod +x ./ossutil # chmod +x ./ossutil
sudo cp ./ossutil /usr/bin/ # sudo cp ./ossutil /usr/bin/
fi # fi
} # }
debug_tools(){ # debug_tools(){
log_info "===debug info" # log_info "===debug info"
ls -lha # ls -lha
pwd # pwd
log_info "===debug info" # log_info "===debug info"
} # }