Skip to content

Commit

Permalink
Merge pull request #219 from trydofor/develop
Browse files Browse the repository at this point in the history
refine script shell and workflow
  • Loading branch information
trydofor authored Mar 6, 2024
2 parents b4b27e9 + 681bc9f commit be9fd98
Show file tree
Hide file tree
Showing 11 changed files with 168 additions and 159 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/release-notes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,15 @@ jobs:
exclude:
labels: [ "duplicate", "invalid", "investigate", "pending", "question", "wontfix" ]
sections:
- title: "⭐ New Feature"
- title: "⭐ New Features"
labels: [ "feature" ]
- title: "🐞 Bug Fixes"
labels: [ "bug" ]
- title: "💎 Enhancement"
- title: "💎 Enhancements"
labels: [ "better", "devops", "quality" ]
- title: "📝 Documentation"
labels: [ "docs" ]
- title: "📦️ Dependency"
- title: "📦️ Dependencies"
labels: [ "deps" ]
EOF
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ jobs:
echo "- MVN_DEPLOY_OSSRH=$_drh" >> "$GITHUB_STEP_SUMMARY"
echo "MVN_DEPLOY_OSSRH=$_drh" >> "$GITHUB_OUTPUT"
_drp=${{ ( inputs.deployAltrh || github.event_name == 'release' ) && secrets.MVN_ALT_USER != '' }}
_drp=${{ secrets.MVN_ALT_USER != '' && ( inputs.deployAltrh || github.event_name == 'push' ) }}
echo "- MVN_DEPLOY_ALTRH=$_drp" >> "$GITHUB_STEP_SUMMARY"
echo "MVN_DEPLOY_ALTRH=$_drp" >> "$GITHUB_OUTPUT"
Expand Down
2 changes: 1 addition & 1 deletion observe/docs
2 changes: 1 addition & 1 deletion observe/meepo
2 changes: 1 addition & 1 deletion observe/mirana
146 changes: 71 additions & 75 deletions observe/scripts/wings-docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,29 +35,25 @@ $IMAGE_ENV_JAVA_ADD \
-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=8 \
-Xlog:gc*=info:file=$IMAGE_APP_LOGS/application.gc:time,tid,tags:filecount=5,filesize=100m "

IMAGE_ENV_BOOT_ARGS="\
--spring.config.location=optional:file:$IMAGE_APP_CONF \
--logging.file.name=$IMAGE_APP_LOGS/application.log"

#######
function show_help() {
echo -e '\033[32m clean <dep|app|all> <boot-jar> \033[m clean docker-<dep|app|all> build dir of boot-jar'
echo -e '\033[32m print <dep|app|all> <boot-jar> \033[m print docker-<dep|app|all> Dockerfile of boot-jar'
echo -e '\033[32m unzip <dep|app|all> <boot-jar> \033[m unzip docker-<dep|app|all> files of boot-jar'
echo -e '\033[32m build <dep|app|all> <boot-jar> \033[m build docker-<dep|app|all> image of boot-jar'
echo -e '\033[32m help \033[m show this'
echo -e '\033[32m <dep> \033[m only dependencies + spring-boot-loader'
echo -e '\033[32m <app> \033[m <dep> + napshot-dependencies + application'
echo -e '\033[32m <all> \033[m <dep> + <app>'
echo -e '\033[32m clean <dep|app|all> <boot-jar> \033[m clean docker-<dep|app|all> build dir of boot-jar'
echo -e '\033[32m print <dep|app|all> <boot-jar> \033[m print docker-<dep|app|all> Dockerfile of boot-jar'
echo -e '\033[32m unzip <dep|app|all> <boot-jar> \033[m unzip docker-<dep|app|all> files of boot-jar'
echo -e '\033[32m build <dep|app|all> <boot-jar> \033[m build docker-<dep|app|all> image of boot-jar'
echo -e '\033[32m help \033[m show this'
echo -e '\033[32m <dep> \033[m only dependencies + spring-boot-loader'
echo -e '\033[32m <app> \033[m <dep> + napshot-dependencies + application'
echo -e '\033[32m <all> \033[m <dep> + <app>'
}

function docker_file() {
_cmd=(cat)
if [ "$BUILD_MOD" == "dep" ]; then
_cmd=(grep -v -E 'COPY snapshot-dependencies/|COPY application/')
elif [ "$BUILD_MOD" == "app" ]; then
_cmd=(grep -v -E 'COPY dependencies/|COPY spring-boot-loader/')
fi
_cmd=(cat)
if [ "$BUILD_MOD" == "dep" ]; then
_cmd=(grep -v -E 'COPY snapshot-dependencies/|COPY application/')
elif [ "$BUILD_MOD" == "app" ]; then
_cmd=(grep -v -E 'COPY dependencies/|COPY spring-boot-loader/')
fi

"${_cmd[@]}" << EOF
FROM $IMAGE_TAG_FROM
Expand Down Expand Up @@ -101,73 +97,73 @@ if [[ "$BUILD_ARG" == "help" ]]; then
fi

BUILD_MOD="$2"
if [ "$BUILD_MOD" == "dep" ] || [ "$BUILD_MOD" == "app" ] || [ "$BUILD_MOD" == "all" ]; then
echo -e "\033[32m build mod=$BUILD_MOD \033[0m"
if [[ "$BUILD_MOD" == "dep" || "$BUILD_MOD" == "app" || "$BUILD_MOD" == "all" ]]; then
echo -e "\033[32m build mod=$BUILD_MOD \033[0m"
else
echo -e "\033[31mERROR: bad arg2, $BUILD_MOD \033[0m"
show_help
exit
echo -e "\033[31mERROR: bad arg2, $BUILD_MOD \033[0m"
show_help
exit
fi

## build
BUILD_BOOT_JAR="$3"
BUILD_WORK_DIR=
IMAGE_TAG_BOOT=
IMAGE_TAG_FROM="eclipse-temurin:21-jre"
if [ -f "$BUILD_BOOT_JAR" ]; then
_this=$(realpath "$BUILD_BOOT_JAR")
_temp=$(dirname "$_this")
BUILD_WORK_DIR="$_temp/docker-$BUILD_MOD"
IMAGE_TAG_BOOT=$(basename "$_this" | sed -E 's/\.[^.]*$//' | sed -E 's/-([0-9]+\.)/:\1/') # winx-front:3.2.110-SNAPSHOT
if [ "$BUILD_MOD" == "dep" ]; then
IMAGE_TAG_BOOT="${IMAGE_TAG_BOOT}-DEP"
elif [ "$BUILD_MOD" == "app" ]; then
IMAGE_TAG_FROM="${IMAGE_TAG_BOOT}-DEP"
fi
echo -e "\033[32m work dir=$BUILD_WORK_DIR \033[0m"
echo -e "\033[32m boot tag=$IMAGE_TAG_BOOT \033[0m"
echo -e "\033[32m from tag=$IMAGE_TAG_FROM \033[0m"
if [[ -f "$BUILD_BOOT_JAR" ]]; then
_this=$(realpath "$BUILD_BOOT_JAR")
_temp=$(dirname "$_this")
BUILD_WORK_DIR="$_temp/docker-$BUILD_MOD"
IMAGE_TAG_BOOT=$(basename "$_this" | sed -E 's/\.[^.]*$//' | sed -E 's/-([0-9]+\.)/:\1/') # winx-front:3.2.110-SNAPSHOT
if [[ "$BUILD_MOD" == "dep" ]]; then
IMAGE_TAG_BOOT="${IMAGE_TAG_BOOT}-DEP"
elif [[ "$BUILD_MOD" == "app" ]]; then
IMAGE_TAG_FROM="${IMAGE_TAG_BOOT}-DEP"
fi
echo -e "\033[32m work dir=$BUILD_WORK_DIR \033[0m"
echo -e "\033[32m boot tag=$IMAGE_TAG_BOOT \033[0m"
echo -e "\033[32m from tag=$IMAGE_TAG_FROM \033[0m"
else
echo -e "\033[31mERROR: no boot-jar $BUILD_BOOT_JAR \033[0m"
echo -e "\033[32m mvn clean package \033[0m to build"
show_help
exit
echo -e "\033[31mERROR: no boot-jar $BUILD_BOOT_JAR \033[0m"
echo -e "\033[32m mvn clean package \033[0m to build"
show_help
exit
fi

case "$BUILD_ARG" in
print)
echo -e "\033[37;42;1mINFO: ==== Dockerfile ==== \033[0m"
docker_file
echo -e "\033[37;42;1mINFO: ==== docker run ==== \033[0m"
echo "WINGS_DOCKER_NET=wings-app"
echo "WINGS_DOCKER_OPTS=(--network \$WINGS_DOCKER_NET -e TZ=Asia/Shanghai -v ./data:/app/data -v ./conf:/app/conf -v ./logs:/app/logs -p 8091:8080)"
echo "docker network create --driver bridge \$WINGS_DOCKER_NET"
echo "docker run -it --rm \${WINGS_DOCKER_OPTS[@]} $IMAGE_TAG_BOOT"
echo "docker run -it --rm \${WINGS_DOCKER_OPTS[@]} --entrypoint /bin/bash $IMAGE_TAG_BOOT"
;;
clean)
if [ -d "$BUILD_WORK_DIR" ];then
echo -e "\033[32m clean $BUILD_WORK_DIR"
rm -rf "$BUILD_WORK_DIR"
else
echo -e "\033[33mINFO: not found $BUILD_WORK_DIR \033[0m"
fi
;;
unzip)
[ -d "$BUILD_WORK_DIR" ] && rm -rf "$BUILD_WORK_DIR"
mkdir -p "$BUILD_WORK_DIR"
echo -e "\033[32m unzip layered jar \033[0m"
java -Djarmode=layertools -jar "$BUILD_BOOT_JAR" extract --destination "$BUILD_WORK_DIR"
echo -e "\033[32m delete spring-boot-jarmode-layertools.jar \033[0m"
find "$BUILD_WORK_DIR/dependencies" -name 'spring-boot-jarmode-layertools-*.jar' -delete
;;
build)
cd "$BUILD_WORK_DIR" || exit
docker_file > Dockerfile
echo -e "\033[32m build Dockerfile \033[0m"
docker build -t "$IMAGE_TAG_BOOT" .
;;
*)
show_help
;;
print)
echo -e "\033[37;42;1mINFO: ==== Dockerfile ==== \033[0m"
docker_file
echo -e "\033[37;42;1mINFO: ==== docker run ==== \033[0m"
echo "WINGS_DOCKER_NET=wings-app"
echo "WINGS_DOCKER_OPTS=(--network \$WINGS_DOCKER_NET -e TZ=Asia/Shanghai -v ./data:/app/data -v ./conf:/app/conf -v ./logs:/app/logs -p 8091:8080)"
echo "docker network create --driver bridge \$WINGS_DOCKER_NET"
echo "docker run -it --rm \${WINGS_DOCKER_OPTS[@]} $IMAGE_TAG_BOOT"
echo "docker run -it --rm \${WINGS_DOCKER_OPTS[@]} --entrypoint /bin/bash $IMAGE_TAG_BOOT"
;;
clean)
if [[ -d "$BUILD_WORK_DIR" ]];then
echo -e "\033[32m clean $BUILD_WORK_DIR"
rm -rf "$BUILD_WORK_DIR"
else
echo -e "\033[33mINFO: not found $BUILD_WORK_DIR \033[0m"
fi
;;
unzip)
[[ -d "$BUILD_WORK_DIR" ]] && rm -rf "$BUILD_WORK_DIR"
mkdir -p "$BUILD_WORK_DIR"
echo -e "\033[32m unzip layered jar \033[0m"
java -Djarmode=layertools -jar "$BUILD_BOOT_JAR" extract --destination "$BUILD_WORK_DIR"
echo -e "\033[32m delete spring-boot-jarmode-layertools.jar \033[0m"
find "$BUILD_WORK_DIR/dependencies" -name 'spring-boot-jarmode-layertools-*.jar' -delete
;;
build)
cd "$BUILD_WORK_DIR" || exit
docker_file > Dockerfile
echo -e "\033[32m build Dockerfile \033[0m"
docker build -t "$IMAGE_TAG_BOOT" .
;;
*)
show_help
;;
esac
2 changes: 1 addition & 1 deletion observe/scripts/wings-git-stat.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
THIS_VERSION=2021-12-21
echo -e "\033[37;42;1mScript-Version $THIS_VERSION \033[0m"

Expand Down
74 changes: 37 additions & 37 deletions observe/scripts/wings-mysql-dump.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/bash -e
THIS_VERSION=2023-04-14

cat << EOF
Expand Down Expand Up @@ -26,10 +26,10 @@ dumpopts=${*:3}
logxopts="--no-data"
confopts=--defaults-extra-file=$extracnf
if [[ -f "$extracnf" ]]; then
echo -e "\033[0;33mNOTE: defaults-extra-file \033[m"
grep -E "^(host|port|user)" "$extracnf"
echo -e "\033[0;33mNOTE: defaults-extra-file \033[m"
grep -E "^(host|port|user)" "$extracnf"
else
echo -e "\033[0;31mERROR: should specific mysql config(at param-1), eg. ~/my.cnf\033[m"
echo -e "\033[0;31mERROR: should specific mysql config(at param-1), eg. ~/my.cnf\033[m"
cat << 'EOF'
[client]
protocol=tcp
Expand All @@ -45,19 +45,19 @@ net-buffer-length=64k
set-gtid-purged=OFF
single-transaction
EOF
exit
exit
fi

unalias mysql >/dev/null 2>&1
unalias mysqldump >/dev/null 2>&1

if [[ "$database" == "" ]]; then
echo -e "\033[0;31mWARN: need database(at param-2) to dump, eg.\033[m"
echo "./wings-mysql-dump.sh wings-mysql-client.cnf database --no-data"
echo -e "\033[0;33mNOTE:current databases \033[m"
# shellcheck disable=SC2086
mysql $confopts -N -e "show databases;"
exit
echo -e "\033[0;31mWARN: need database(at param-2) to dump, eg.\033[m"
echo "./wings-mysql-dump.sh wings-mysql-client.cnf database --no-data"
echo -e "\033[0;33mNOTE:current databases \033[m"
# shellcheck disable=SC2086
mysql $confopts -N -e "show databases;"
exit
fi

###
Expand All @@ -71,42 +71,42 @@ dump_md5_file="$dump_head.md5"

# shellcheck disable=SC2086
if ! mysql $confopts -D "$database" -N -e "show tables" > "$dump_tbl_file"; then
echo -e "\033[37;41;1mERROR: failed to show tables of $database \033[0m"
rm -rf "$dump_tbl_file"
exit
echo -e "\033[37;41;1mERROR: failed to show tables of $database \033[0m"
rm -rf "$dump_tbl_file"
exit
fi

logs_cnt=$(grep -cE '\$|__' "$dump_tbl_file")
if [[ $logs_cnt == 0 ]]; then
echo "no logs tables to dump"
echo "-- no logs tables to dump" > "$dump_logs_file"
echo "no logs tables to dump"
echo "-- no logs tables to dump" > "$dump_logs_file"
else
echo -e "\033[0;33mNOTE: dump logs tables without data, count=$logs_cnt\033[m"

# shellcheck disable=SC2046,SC2086
if mysqldump $confopts $dumpopts $logxopts \
"$database" $(grep -E '\$|__' "$dump_tbl_file") > "$dump_logs_file"; then
echo "successfully dump logs"
else
echo -e "\033[37;41;1mERROR: failed to dump logs \033[0m"
exit
fi
echo -e "\033[0;33mNOTE: dump logs tables without data, count=$logs_cnt\033[m"

# shellcheck disable=SC2046,SC2086
if mysqldump $confopts $dumpopts $logxopts \
"$database" $(grep -E '\$|__' "$dump_tbl_file") > "$dump_logs_file"; then
echo "successfully dump logs"
else
echo -e "\033[37;41;1mERROR: failed to dump logs \033[0m"
exit
fi
fi

main_cnt=$(grep -cvE '\$|__' "$dump_tbl_file")
if [[ $main_cnt == 0 ]]; then
echo "no main tables to dump"
echo "-- no main tables to dump" > "$dump_main_file"
echo "no main tables to dump"
echo "-- no main tables to dump" > "$dump_main_file"
else
echo -e "\033[0;33mNOTE: dump main tables with data, count=$main_cnt\033[m"
# shellcheck disable=SC2046,SC2086
if mysqldump $confopts $dumpopts \
"$database" $(grep -vE '\$|__' "$dump_tbl_file") > "$dump_main_file"; then
echo "successfully dump main"
else
echo -e "\033[37;41;1mERROR: failed to dump main \033[0m"
exit
fi
echo -e "\033[0;33mNOTE: dump main tables with data, count=$main_cnt\033[m"
# shellcheck disable=SC2046,SC2086
if mysqldump $confopts $dumpopts \
"$database" $(grep -vE '\$|__' "$dump_tbl_file") > "$dump_main_file"; then
echo "successfully dump main"
else
echo -e "\033[37;41;1mERROR: failed to dump main \033[0m"
exit
fi
fi

echo -e "\033[0;33mNOTE: dump file $dump_head\033[m"
Expand Down
Loading

0 comments on commit be9fd98

Please sign in to comment.