簡體   English   中英

使用 gitLab ci/cd 時如何自動動態指定應用程序名稱

[英]How to dynamically specify app name on automatic when using gitLab ci/cd

在我正在處理的 Android 項目中,我們使用 GitLab CI/CD 自動構建和上傳 Diawi 的.apk 文件。 在當前設置中,構建應用程序的名稱是 static,因為它需要被知道並作為 curl 請求發送到 Diawi 框架。 腳本如下所示:

- ./gradlew assembleRelease && cp app/build/outputs/apk/release/app-release.apk app-release.apk && curl -v --http1.1  https://upload.diawi.com/ -F token=$DIAWI_TOKEN -F file=@app-release.apk -F find_by_udid=0 -F callback_emails="mymail@company.com"

但這會在手動測試時造成一些麻煩,因為同名的.apk文件很容易被錯誤或覆蓋。

我的想法是在 .apk 文件的名稱中添加一些元數據以使其唯一並避免此類錯誤。 您對如何做到這一點有任何想法嗎?

您可以做的第一件事是創建版本碰撞功能。 您可以通過版本碰撞工具和 git 同步來完成。

對於版本碰撞,您可以使用我們的開源工具 - https://github.com/relizaio/versioning 現在,假設您通過名為 apk_version 的文件進行同步,您首先使用當前版本初始化此文件,例如:

docker run --rm relizaio/versioning -s YY.0M.Patch > apk_version

然后在您的 CI 上下文中,您可以使用類似

docker run --rm relizaio/versioning -s YY.0M.Patch -v $(cat apk_version) -a bump > apk_version

現在,在 GitLab CI 中,您需要一個塊來解決這個問題。 請注意,您還需要在凹凸結束時提交 apk_version 文件。

如需靈感 - 請參閱此問題如何授予語義發布權限以將代碼推送到 master以及我們在 GitLab - https 上的示例 CD 項目://gitlab.com/taleodor/sample-helm-cd/-/blob/master/ .gitlab-ci.yml

另外,我的文章可能會有所幫助(請注意,此時它有點過時了): https://worklifenotes.com/2020/02/27/automatic-version-increments-with-reliza-hub-2-strategies/

Finally, for other things that you can add to version GitLab has a list of pre-defined env variables that you can use in whole or partially as modifiers: https://docs.gitlab.com/ee/ci/variables/predefined_variables. html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM