2016-03-10 9 views
17

के लिए रनर साझा किया है, मैं अपने एंड्रॉइड एप्लिकेशन ग्रेडल प्रोजेक्ट के लिए गिटलैब सीआई सिस्टम का उपयोग करना चाहता हूं। परियोजना भंडार GitLab.com पर होस्ट किया गया है, इसलिए मैं गिटलाब इंक
द्वारा प्रदान किए गए साझा धावकों में से एक का उपयोग करना चाहता हूं, जबकि आधिकारिक ट्यूटोरियल provides नोडजेएस प्रोजेक्ट रनर कॉन्फ़िगरेशन के लिए एक उदाहरण है और रुबी परियोजनाओं के लिए साझा धावक भी हैं I एंड्रॉइड एप्लिकेशन का समर्थन करने वाले किसी भी उदाहरण या यहां तक ​​कि एक रनर नहीं मिला।GitLab.com सीआई ने एंड्रॉइड प्रोजेक्ट्स

  • वहाँ (image: android:4.2.2 या कुछ इस तरह का उल्लेख करके) एक साझा धावक GitLab.com द्वारा प्रदान की, जो बॉक्स से बाहर एंड्रॉयड परियोजनाओं का समर्थन करता है है?
  • वहाँ मौजूदा साझा GitLab.com द्वारा प्रदान की धावक (.gitlab-ci.yml फ़ाइल को संशोधित करके) एंड्रॉयड परियोजनाओं का समर्थन करने के लिए कॉन्फ़िगर करने के लिए कोई तरीका है?
+0

यदि आपकी समस्या हल हो जाती है तो आप उत्तर चुन सकते हैं, यह भी भविष्य में एक ही समस्या के साथ एक दूसरे की मदद कर सकता है। – Sucipto

उत्तर

14

मैं पर एंड्रॉयड निर्माण चलाने के लिए इस डोकर छवि का उपयोग कर रहा gitlab-ci

अद्यतन:

Gitlab रजिस्ट्री करने के लिए ले जाया गया

image: registry.gitlab.com/showcheap/android-ci:latest 

before_script: 
    - export GRADLE_USER_HOME=`pwd`/.gradle 
    - chmod +x ./gradlew 

cache: 
    paths: 
    - .gradle/wrapper 
    - .gradle/caches 

build: 
    stage: build 
    script: 
    - ./gradlew assemble 

test: 
    stage: test 
    script: 
    - ./gradlew check 

पूर्ण गाइड इस Gitlab में जाँच कर सकते हैं रिपोजिटरी: https://gitlab.com/showcheap/android-ci

यदि आपका लक्ष्य एसडीके और बिल्ड टूल्स संस्करण सूचीबद्ध नहीं है, तो कृपया एक पुल अनुरोध करें या मेरे रेपो को फोर्क करें, फिर अपना कस्टम लक्ष्य बनाएं और संस्करण बनाएं।

+0

धन्यवाद @Chip, आपने मेरे शोध के घंटों को बचाया। क्या हम डॉकर छवि और गिटलाब धावकों का एक साथ उपयोग कर सकते हैं। –

+1

आपका स्वागत है @SanchitGupta – Sucipto

+0

@Sucipto क्या यह 'ConstraintLayout' पर काम करता है? – david

-1

अद्यतन

इस post आप अपने खुद के रनर अप सेट करना होगा के अनुसार

आपको उसी पोस्ट पर एंड्रॉइड ऐप्स बनाने के बारे में अधिक जानकारी मिल जाएगी।

+0

आपके उत्तर के लिए धन्यवाद, सबसे पहले। मुझे डर है, हालांकि, यह मेरे मामले में फिट नहीं होगा। आप यहां अपना खुद का धावक स्थापित करने के बारे में बात कर रहे हैं और मैं Gitlab.com द्वारा प्रदान किए गए साझा धावकों में से एक का उपयोग करना चाहता हूं। – meltedspark

5

यह .gitlab-ci.yml फ़ाइल है जिसे मैं अपने एंड्रॉइड प्रोजेक्ट में उपयोग कर रहा हूं। चूंकि मैंने इसे एक समय में एक घटक स्थापित करने के लिए बदल दिया है, यह बहुत स्थिर है। कभी-कभी लाइसेंस स्वीकार नहीं किया जा सकता है और बिल्ड विफल हो जाता है। लेकिन यह एक दुर्लभ मामला है। यह महत्वपूर्ण है कि आपके बिल्ड-टूल्स इस स्क्रिप्ट (build-tools-23.0.3) के समान हैं, शायद आपको यहां स्क्रिप्ट बदलनी होगी।

आप लिंट रिपोर्ट प्राप्त करने के लिए artifacts घोषणा का उपयोग कर सकते हैं।

before_script: 
    - apt-get --quiet update --yes 
    - apt-get --quiet install --yes wget tar unzip openjdk-7-jdk lib32stdc++6 lib32z1 
    - wget --quiet --output-document=android-sdk.tgz https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz 
    - tar --extract --gzip --file=android-sdk.tgz 
    - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter android-23 
    - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter platform-tools 
    - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter build-tools-23.0.3 
    - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter extra-android-m2repository 
    - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter extra-google-google_play_services 
    - echo y | android-sdk-linux/tools/android --silent update sdk --no-ui --all --filter extra-google-m2repository 
    - wget --quiet --output-document=gradle.zip https://services.gradle.org/distributions/gradle-2.12-bin.zip 
    - unzip -q gradle.zip 
    - export ANDROID_HOME=$PWD/android-sdk-linux 

build: 
    script: 
    - gradle-2.12/bin/gradle assembleDebug check --stacktrace 
    artifacts: 
    paths: 
    - library/build/outputs/lint-results.html 
    - app/build/outputs/lint-results.html 
संबंधित मुद्दे