jenkinsを使用してFlutter製品をiOSプロジェクトに継続的に統合

1123 ワード

前言:
flutterが公式に提供した混合案は、結合性が比較的重いため、開発者一人一人がflutterをインストールしてプロジェクトを開始する必要があるため、jenkins走タスクを採用してflutter生成物をコンパイルしgit倉庫にアップロードし、iOSプロジェクトはpod依存でよい.
Jenkinsタスク構成:
FLUTTER_PROJECT_Name:flutterプロジェクト倉庫名;FLUTTER_PRODUCT_GIT_REPO:flutterプロジェクトgitアドレス;FLUTTER_PRODUCT_Name:flutterコンパイル生成物倉庫名;FLUTTER_PRODUCT_GIT_REPO:flutterコンパイル生成物gitアドレスは、まず2つのプロジェクトcloneをWORKSPACEの下に、最新のコードを引き出し、flutterプロジェクトの下のbuild_を実行します.ios.shスクリプト、flutterプロジェクトをコンパイルしてパラメータを得た後、copyはflutterコンパイル生成物倉庫に、最後にgitにアップロードします.
cd ${WORKSPACE}
if [[ ! -d "${FLUTTER_PROJECT_Name}" ]]; then
  git clone ${FLUTTER_PROJECT_GIT_REPO} ${FLUTTER_PROJECT_Name} -b ${PROJECT_GIT_BRANCH}
fi

if [[ ! -d "${FLUTTER_PRODUCT_Name}" ]]; then
  git clone ${FLUTTER_PRODUCT_GIT_REPO} ${FLUTTER_PRODUCT_Name} -b ${PROJECT_GIT_BRANCH}
fi

cd ${WORKSPACE}/${FLUTTER_PRODUCT_Name}
git fetch
git reset --hard
git checkout ${PROJECT_GIT_BRANCH}
git pull --no-commit --all

cd ${WORKSPACE}/${FLUTTER_PROJECT_Name}
git fetch
git reset --hard
git checkout ${PROJECT_GIT_BRANCH}
git pull --no-commit --all

sh build_ios.sh -m release