2017-06-15 29 views
1

我想在Firebase測試實驗室中使用espresso運行我的儀器測試,每次提交到GitLab中的某個分支。我已經使用Docker和Fastlane構建,部署和發佈應用程序,但是我無法在Google上找到任何將測試實驗室與這些工具集成在一起的任何內容。你們對此有所瞭解,我可以用它來實現使用GitLab的CI系統來運行儀器測試嗎?您是否有任何資源解釋如何使用Firebase測試實驗室和GitLab管道?

+0

你是說你不能使用gcloud命令行來運行測試? –

+0

我可以使用它,但我不知道在使用gitlab時應該把它放在哪裏。在測試項目中,我能夠在jenkins的firebase文檔之後使用gcloud運行測試。然而,真正的項目是在gitlab中託管的,我期望它能夠自動運行測試。 –

回答

1

可以使用gcloud從CI系統調用測試實驗室。有關於如何爲JenkinsCircle CI執行此操作的說明。

測試實驗室用戶還有一個Slack通道。通過https://firebase.community加入並找到#test-lab頻道。那裏的幾個用戶已經成功地將測試實驗室連接到他們的CI系統。

0

經過一段時間並獲得了更多Docker經驗,我發現如何在容器中安裝和設置帶有服務帳戶的gcloud。這些命令在google's gcloud image's Dockerfile中是正確的。我只是將它們複製到我的Dockerfile中,因爲我不想使用它們的映像,但在我的gcloud CLI中。

也跟在gcloud's documentation我可以建立命令登錄與服務帳戶沒有用戶交互。唯一需要的是將keyfile.json複製到容器中。

gcloud auth activate-service-account $GOOGLE_AUTH_EMAIL --key-file /path-to/keyfile.json --project $GOOGLE_PROJECT_ID 

最後,這裏是我添加到原來的Dockerfile部分:

ENV GOOGLE_PROJECT_ID "yetanothertest-91d46" 
ENV GOOGLE_AUTH_EMAIL "[email protected]" 
ENV GOOGLE_KEY "keyfile.json" 

ADD keyfile.json /home 

RUN apt-get update && apt-get install -qqy \ 
curl gcc python-dev python-setuptools apt-transport-https lsb-release && \ 
easy_install -U pip && \ 
pip install -U crcmod 

RUN export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" && \ 
echo "deb https://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" > /etc/apt/sources.list.d/google-cloud-sdk.list 

RUN curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - 

RUN apt-get update && apt-get install -y google-cloud-sdk 

RUN apt-get -y remove gcc python-dev python-setuptools 

RUN rm -rf /var/lib/apt/lists/* 

RUN gcloud config set core/disable_usage_reporting true && \ 
gcloud config set component_manager/disable_update_check true 

RUN gcloud auth activate-service-account $GOOGLE_AUTH_EMAIL --key-file /home/keyfile.json --project $GOOGLE_PROJECT_ID 

剩下的是什麼做的是在FASTLANE添加gcloud命令(因爲它是被用來運行所有測試/建築/部署任務)發送到firebase以及將用於測試的設備。

相關問題