Flutter項(xiàng)目使用Gitlab的CI


layout: post
title: "為Flutter項(xiàng)目增加GitLab的CI"
description: "Gitlab自帶CI,文章主要講解如何在gitlab上使用Flutter的CI"
tag: flutter,CI, gitlab


本文主要實(shí)現(xiàn)了flutter項(xiàng)目的自動(dòng)打包。每次上傳代碼到master分支,觸發(fā)自動(dòng)測(cè)試,自動(dòng)打包Android的apk和iOS的ipa。其中apk文件放在Sources/build/outputs..常規(guī)目錄下,ipa文件放在Sources/ios/build目錄下。當(dāng)然目錄是可以更改的。

文章可能有點(diǎn)亂,諒解。

步驟同上篇文章iOS差不多。

.gitlab-ci.yml文件內(nèi)容

stages:
  - build
  - archive

build_project:
  stage: build
  script:
    - cd Sources
    - flutter pub get
    - flutter clean
    - flutter doctor && flutter test

  tags:
    - ios_12-1
    - xcode_10-2-1
    - osx_10-14-3

build_project:
  stage: archive
  script:
    - cd Sources
    - flutter clean
    - flutter doctor --android-licenses
    - flutter doctor && flutter -v build apk
    - flutter doctor && flutter -v build iOS
    - cd iOS
    - xcodebuild clean archive -configuration Release -workspace Runner.xcworkspace -scheme Runner -archivePath 'build/Runner.xcarchive'
    - xcodebuild -exportArchive -configuration Release -archivePath 'build/Runner.xcarchive' -exportPath 'build/Runner.ipa' -allowProvisioningUpdates -exportOptionsPlist 'exportOptions.plist'

  tags:
    - ios_12-1
    - xcode_10-2-1
    - osx_10-14-3

步驟:

  1. 在gitlab創(chuàng)建項(xiàng)目
  2. 選擇Runner,可以直接使用上一個(gè)文章里創(chuàng)建的Runner,記得在.gitlab-ci.yml中指定相對(duì)應(yīng)的tag就行了;或者再創(chuàng)建一個(gè)。

<img src="/images/flutterCI/1.png" alt="image">


1.png
  1. 創(chuàng)建flutter項(xiàng)目
  2. flutter doctor --android-licenses,創(chuàng)建Android的發(fā)布證書(shū)
  3. 用Xcode打開(kāi)iOS項(xiàng)目配置證書(shū)。選用自動(dòng)配置
  4. 提交代碼

我遇到的問(wèn)題:

  • 第一次提交的時(shí)候提示沒(méi)有.packages文件夾,在.gitignore文件里刪除這個(gè)文件。再重新提交
$ flutter clean
.packages does not exist.
Did you run "flutter pub get" in this directory?
ERROR: Job failed: exit status 1
  • iOS打包的時(shí)候需要使用-workspace來(lái)指定項(xiàng)目
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • layout: posttitle: "iOS項(xiàng)目使用GitLab的CI"description: "Gitlab...
    ted4kra閱讀 2,745評(píng)論 0 1
  • 作為程序員,代碼是一定要寫的,而且要天天寫。在好多地方見(jiàn)過(guò)這樣一種說(shuō)法: 只會(huì)寫程序的程序員不是好程序員 當(dāng)然,我...
    cjzhao閱讀 16,559評(píng)論 19 89
  • 目錄持續(xù)集成&持續(xù)集成工具的介紹gitlab-ci runner的基本配置方法(mac版本) 持續(xù)集成 CI,Co...
    駱天涯閱讀 42,541評(píng)論 7 25
  • 好久都沒(méi)有那么閑了,有了那么多自己的時(shí)間突然不知道做什么了,最喜歡的就是發(fā)呆,放空了自己也放空了整個(gè)世界。 沒(méi)...
    慕錦之秋閱讀 323評(píng)論 1 2
  • 有一句話叫,“狂歡是一群人的寂寞,獨(dú)處是一個(gè)人的狂歡”。 現(xiàn)在真害怕一個(gè)人的夜晚,白天還好,到了晚上太難熬,只能找...
    JohnMiles閱讀 175評(píng)論 0 0

友情鏈接更多精彩內(nèi)容