From 312db7f2f5b67494dccb1f52c5d1368c28ec3ff0 Mon Sep 17 00:00:00 2001 From: monlor Date: Fri, 6 Mar 2020 11:22:32 +0800 Subject: [PATCH] 2020-03-06 11:22:32 --- .gitlab-ci.yml | 64 +++++++++++++++++++++++++++++++++-- apps/mixbox/scripts/helper.sh | 4 +-- tools/gitsync.sh | 21 ++++++++---- 3 files changed, 78 insertions(+), 11 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5e324e8..4f89770 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,10 +1,70 @@ image: lholota/bash-git stages: + - pack - deploy -deploy: - stage: deploy +pack: + stage: pack + only: + - master + - test + - dev script: - bash -e ./tools/gitsync.sh pack + +deploy-gitlab: + stage: deploy + only: + - master + - test + - dev + script: - bash -e ./tools/gitsync.sh deploy mbfiles ${CI_COMMIT_REF_NAME} ${GL_REF}/monlor/mbfiles.git + +deploy-coding: + stage: deploy + only: + - master + - test + script: + - bash -e ./tools/gitsync.sh deploy mbfiles ${CI_COMMIT_REF_NAME} ${CO_REF}/monlor/mbfiles.git + +pack-all: + stage: pack + only: + - tags + tags: + - deploy-* + script: + - git fetch origin master + - git checkout master + - bash -e ./tools/gitsync.sh pack mbfiles-master + - git fetch origin test + - git checkout test + - bash -e ./tools/gitsync.sh pack mbfiles-test + +deploy-all: + stage: deploy + only: + - tags + tags: + - deploy-* + script: + - bash -e ./tools/gitsync.sh deploy mbfiles-master ${CI_COMMIT_REF_NAME} ${CO_REF}/monlor/mbfiles.git + - bash -e ./tools/gitsync.sh deploy mbfiles-test ${CI_COMMIT_REF_NAME} ${CO_REF}/monlor/mbfiles.git + +cache: + key: ${CI_COMMIT_REF_NAME} + untracked: true + paths: + - mbfiles/ + +cache: + key: deploy-all + untracked: true + paths: + - mbfiles-master/ + - mbfiles-test/ + + diff --git a/apps/mixbox/scripts/helper.sh b/apps/mixbox/scripts/helper.sh index fd45f1d..63e1687 100644 --- a/apps/mixbox/scripts/helper.sh +++ b/apps/mixbox/scripts/helper.sh @@ -40,7 +40,7 @@ base_encode() { if [ -z "${1}" ]; then echo -n "" else - if command -v base64-encode &> /dev/null; then + if base64-encode &> /dev/null; then echo -n "$*" | base64-encode else echo -n "$*" | baseutil --b64 @@ -52,7 +52,7 @@ base_decode() { if [ -z "${1}" ]; then echo -n "" else - if command -v base64-decode &> /dev/null; then + if base64-decode &> /dev/null; then echo -n "$*" | base64-decode else echo -n "$*" | baseutil --b64 -d diff --git a/tools/gitsync.sh b/tools/gitsync.sh index f0a9212..bf192de 100755 --- a/tools/gitsync.sh +++ b/tools/gitsync.sh @@ -59,22 +59,29 @@ gerneral_applist() { pack() { + local pack_dir="${1:-mbfiles}" + rm -rf appstore/ - rm -rf mbfiles/ echo "开始打包插件..." mkdir appstore ls apps/ | while read line; do + # 取用缓存数据 + if [ -f ${pack_dir}/applist.txt ]; then + version_old=`cat ${pack_dir}/applist.txt | grep "$line|" | cut -d'|' -f4` + version_new=`cat apps/$line/config/$line.uci | grep "version=" | cut -d'=' -f2 | sed -e 's/"//g'` + [ "$version_new" = "$version_old" ] && echo "$line未更新,跳过打包..." && continue + fi pack_app $line done gerneral_applist - mkdir mbfiles - cp -rf appsbin/ mbfiles/appsbin/ - cp -rf temp/ mbfiles/temp/ - cp -rf install.sh mbfiles/ - mv -f appstore/ mbfiles/appstore/ - mv -f applist.txt mbfiles/ + mkdir -p ${pack_dir}/appstore 2> /dev/null + cp -rf appsbin/ ${pack_dir}/appsbin/ + cp -rf temp/ ${pack_dir}/temp/ + cp -rf install.sh ${pack_dir}/ + mv -f appstore/* ${pack_dir}/appstore/ + mv -f applist.txt ${pack_dir}/ }