Flutter項目使用Gitlab的CI


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


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

文章可能有點亂,諒解。

步驟同上篇文章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)建項目
  2. 選擇Runner,可以直接使用上一個文章里創(chuàng)建的Runner,記得在.gitlab-ci.yml中指定相對應(yīng)的tag就行了;或者再創(chuàng)建一個。

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


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

我遇到的問題:

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

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

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

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