ऐसे बहुत से काम हैं जो दोहराए जाते हैं जो हमें हर दिन करने पड़ते हैं। और वे थोड़े उबाऊ, कठिन और नीरस हो सकते हैं।
लेकिन उन दैनिक कार्यों में मेहनत करने के बजाय, आप उन्हें सौंप सकते हैं ताकि कोई और आपके लिए उन्हें कर सके। इस तरह, आपके पास उन चीजों को करने के लिए अधिक समय हो सकता है जो आप करना चाहते हैं। आपके पास आराम करने का समय हो सकता है।
यदि आपने कभी Android एप्लिकेशन विकसित किया है, तो आप जानते हैं कि कुछ कार्य कितने कठिन हो सकते हैं:
- चल रहे परीक्षण
- यह सुनिश्चित करना कि नया कोड मर्ज करते समय एप्लिकेशन संकलित हो
- एप्लिकेशन बनाना और प्रकाशित करना।
तो हमें इन कार्यों के साथ किसके पास जाना चाहिए? एक और सहकर्मी? वे इसे किसी और को दे सकते हैं और इससे किसी का समय खाली नहीं होगा। इसके अलावा, हम अपने सहयोगियों को बाहर नहीं करना चाहते हैं। समाधान?
गिटहब क्रियाओं को नमस्ते कहो।
GitHub क्रिया क्या हैं?
GitHub Actions वे कमांड हैं जिन्हें हम अपने रिपॉजिटरी में कुछ होने पर ट्रिगर कर सकते हैं। इसके मूल में, एक क्रिया एक कॉन्फ़िगरेशन फ़ाइल है जिसमें कमांड की एक सूची होती है जो वर्णन करती है:
- क्या होना चाहिए
- कब होना चाहिए
यह कॉन्फ़िगरेशन फ़ाइल YAML प्रारूप (.yml) में है और एक उदाहरण इस तरह दिखता है:
name: My GitHub Action
on: pull_request
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
आइए ऊपर दिए गए उदाहरण को देखें:
- हम अपनी कार्रवाई को एक नाम देते हैं (माई गिटहब एक्शन) [वैकल्पिक]
- हम संकेत देते हैं कि यह क्रिया कब चलनी चाहिए (जब एक पुल अनुरोध खोला जाता है)
- हम उन कार्यों (नौकरियों) की एक सूची शुरू करते हैं जो इस क्रिया के शुरू होने के बाद होनी चाहिए
- पहला है बिल्ड कार्रवाई
- द रन-ऑन कमांड गिटहब को बताता है कि कौन सा धावक इस कार्य को निष्पादित करेगा (यह एक वर्चुअल सर्वर है और आप विंडोज/मैक/लिनक्स के बीच चयन कर सकते हैं)
- प्रत्येक कार्य के कई चरण हो सकते हैं जिन्हें चरणों . द्वारा एक साथ समूहीकृत किया जाता है कीवर्ड
- उपयोग करता है कीवर्ड स्क्रिप्ट को बताता है कि क्या कार्रवाई करनी है
यह एक बहुत छोटा उदाहरण है जो गिटहब क्रियाओं की सभी विशेषताओं को प्रदर्शित नहीं करता है, लेकिन यह कॉन्फ़िगरेशन फ़ाइल की संरचना में एक झलक प्रदान करता है।
अगले अनुभागों में, हम ऐसी कार्रवाइयाँ बनाएंगे जो हमारे विकास चक्र को कुशल और प्रभावी बनाए रखने में मदद करेंगी।
ध्यान दें कि सभी GitHub Actions फ़ाइलों को पथ में आपके प्रोजेक्ट के मुख्य फ़ोल्डर के अंतर्गत रहने की आवश्यकता है .github/workflows :
पुल अनुरोधों के लिए GitHub क्रिया कैसे बनाएं
चाहे आप अकेले किसी प्रोजेक्ट पर काम कर रहे हों या किसी टीम का हिस्सा, यह सुनिश्चित करना महत्वपूर्ण है कि आपका आवेदन स्थिर है। तो यह सुनिश्चित करने के लिए पूरी तरह से समझ में आता है कि आपका आवेदन ठीक से संकलित हो रहा है और जब भी आप पुल अनुरोध को विलय करने पर विचार करते हैं तो सभी परीक्षण पास हो जाते हैं।
हमने अपने उदाहरण में पहले ही दिखाया है कि हम अपने भंडार में कोड को कैसे चेकआउट कर सकते हैं। इस क्रिया में, हम निम्नलिखित चरणों को शामिल करेंगे:
- JDK संस्करण सेट करना
- आभासी वातावरण के लिए अनुमतियाँ बदलना
- चल रहे परीक्षण (यदि हमारे पास कोई है)
- एप्लिकेशन बनाना
name: Android Build
on: pull_request
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set Up JDK // 1
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Change wrapper permissions // 2
run: chmod +x ./gradlew
- name: Run Tests // 3
run: ./gradlew test
- name: Build Project // 4
run: ./gradlew assemble
आप देख सकते हैं कि ऊपर, प्रत्येक चरण के अपने गुण और विशेषताएँ होती हैं जो इसके लिए विशिष्ट होती हैं।
मैं उनमें से प्रत्येक में नहीं जाऊंगा, क्योंकि आप दस्तावेज़ीकरण के माध्यम से स्वयं ऐसा कर सकते हैं। रन . अधिकांश चरणों के लिए जो सामान्य है वह है खोजशब्द। यह विशेषता बताती है कि किस कमांड को निष्पादित करना है।
हमें दूसरे चरण की आवश्यकता है ताकि आभासी वातावरण ग्रेडल कमांड चला सके। इसके बिना, यह नहीं हो पाएगा।
किसी एप्लिकेशन को प्रकाशित करने के लिए GitHub क्रिया कैसे करें
एक बार जब आप पहली बार अपना आवेदन प्रकाशित कर लेते हैं, तो इसे पुनः प्रकाशित करना एक काम की तरह बन जाता है।
आपको यह सुनिश्चित करना होगा कि संस्करण अपग्रेड किया गया है, एपीके बनाएं, इसे Google Play कंसोल और अन्य कठिन कार्यों के माध्यम से सबमिट करें।
हम इस प्रक्रिया को एक अन्य GitHub क्रिया के साथ स्वचालित कर सकते हैं। यह क्रिया पिछली बार की तुलना में थोड़ी अधिक जटिल है क्योंकि इसके लिए गिटहब सीक्रेट्स के उपयोग की आवश्यकता होती है।
संक्षेप में, GitHub रहस्य संवेदनशील जानकारी को आपके भंडार के पर्यावरण चर के रूप में संग्रहीत करने का एक तरीका है। हमें उनका उपयोग करने की आवश्यकता होगी क्योंकि:
- हमें अपने आवेदन पर हस्ताक्षर करने होंगे
- हम इस क्रिया को Google Play Store में अपने निर्मित एप्लिकेशन को सबमिट करने की अनुमति देने जा रहे हैं
आइए जानें कि हम पहले कैसे GitHub सीक्रेट्स बना सकते हैं।
- अपने भंडार के मुख्य पृष्ठ के अंदर, सेटिंग . पर क्लिक करें टैब
- बाईं ओर मेनू पर, रहस्य . शीर्षक वाला एक विकल्प होगा
- एक रहस्य बनाने के लिए, नया भंडार रहस्य दबाएं बटन
अब जबकि हमें वह रास्ता मिल गया है, आइए एक एप्लिकेशन प्रकाशित करने की स्क्रिप्ट देखें:
name: Android Publish
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Set Up JDK
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Change wrapper permissions
run: chmod +x ./gradlew
- name: Run Tests
run: ./gradlew test
- name: Build Project
run: ./gradlew build
- name: Build Release AAB // 1
run: ./gradlew bundleRelease
- name: Sign AAB // 2
uses: r0adkll/sign-android-release@v1
with:
releaseDirectory: app/build/outputs/bundle/release
signingKeyBase64: ${{ secrets.SIGN_KEY }}
alias: ${{ secrets.ALIAS }}
keyStorePassword: ${{ secrets.STORE_KEY_PASSWORD }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
- name: Deploy to Play Store // 3
uses: r0adkll/upload-google-play@v1
with:
serviceAccountJsonPlainText: ${{secrets.SERVICE_ACCOUNT}}
packageName: com.tomerpacific.laundry
releaseFiles: app/build/outputs/bundle/release/app-release.aab
track: production
आपने देखा होगा कि यह क्रिया कार्यप्रवाह_डिस्पैच पर run चलेगी . इसका क्या मतलब है? मूल रूप से यह इस क्रिया को गिटहब से ही मैन्युअल रूप से ट्रिगर करने की अनुमति देता है।
आप निश्चित रूप से यह तय कर सकते हैं कि मुख्य शाखा पर धक्का लगने पर आप इस क्रिया को चलाएंगे (उदाहरण के लिए)।
ऊपर दिए गए स्निपेट में 1 के साथ चिह्नित चरण हमारे एप्लिकेशन के .aab के निर्माण को ट्रिगर करता है। फिर, जैसे हम करते हैं अगर हम इसे एंड्रॉइड स्टूडियो के अंदर बना रहे थे, तो हमें इस .aab फ़ाइल पर हस्ताक्षर करना होगा।
यह पहली बार है जब GitHub सीक्रेट्स चलन में आया है। हमें इसके लिए रहस्य बनाने होंगे:
- हस्ताक्षर कुंजी (रहस्य.SIGN_KEY)
- कुंजी उपनाम (रहस्य.ALIAS)
- स्टोर कुंजी पासवर्ड (गुप्त.STORE_KEY_PASSWORD)
- कुंजी पासवर्ड (secret.KEY_PASSWORD)
एक बार जब हम .aab फ़ाइल पर हस्ताक्षर कर लेते हैं तो हम इसे Google Play Store पर तैनात कर सकते हैं। इस कदम पर थोड़ा और काम करना है क्योंकि हमें इस गिटहब एक्शन को Google Play पर हमारे लिए एप्लिकेशन तैनात करने की अनुमति देने की आवश्यकता है। लेकिन, रुकिए, हम यह कैसे करते हैं? हम एक सेवा खाते का उपयोग करते हैं।
सेवा खाता कैसे बनाएं
एक सेवा खाता एक इकाई है जिसे आप बनाते हैं जो उन सेवाओं या अनुप्रयोगों को बताता है जिनके साथ यह इंटरैक्ट करता है कि यह आपकी ओर से संचालित हो रहा है।
हमारे मामले में, हमारा गिटहब एक्शन Google Play Store के साथ बातचीत करने जा रहा है ताकि यह हमारे एप्लिकेशन का एक नया संस्करण अपलोड कर सके।
सेवा खाता बनाने के लिए, Google क्लाउड कंसोल पर जाएं। यदि आपका वहां कोई खाता नहीं है, तो एक बनाना सुनिश्चित करें। फिर, मुख्य पृष्ठ पर, बाईं ओर के मेनू में, सेवा खाते नामक एक सूची आइटम होगा।
एक बार जब आप इसे क्लिक करते हैं, तो विंडो के दाईं ओर आपको कोई भी सेवा खाता दिखाई देगा जो आपके पास पहले से है।
हम एक नया बनाना चाहते हैं और विंडो के शीर्ष भाग में ऐसा करने के लिए एक बटन है।
खुलने वाली विंडो में, आपको सेवा का नाम दर्ज करना होगा और आप विवरण भी दर्ज कर सकते हैं।
यहां दिया गया नाम इस सेवा खाते का विशिष्ट पहचानकर्ता होगा।
दूसरे चरण में आपको इस सेवा खाते को एक भूमिका देने के लिए कहा जाएगा। एक भूमिका चुनें . से ड्रॉपडाउन, बेसिक → संपादक चुनें।
अंत में, तीसरे चरण में, "उपयोगकर्ताओं को इस सेवा खाते तक पहुंच प्रदान करें" अनुभाग के अंतर्गत दोनों स्थानों पर अपना ईमेल भरें:
किया हुआ बटन दबाने के बाद, आपको इस सेवा खाते के लिए एक कुंजी बनानी होगी। कार्रवाई इस कुंजी का उपयोग Google Play द्वारा पहचाने जाने के लिए करेगी।
कुंजी बनाने के लिए, मुख्य सेवा खाता स्क्रीन में क्रिया लेबल के अंतर्गत तीन क्षैतिज बिंदुओं पर क्लिक करें। दिखाई देने वाले मेनू में, कुंजी प्रबंधित करें select चुनें ।
इस विंडो में, हम नई कुंजी . का चयन करके एक कुंजी बनाएंगे बटन और दिखाई देने वाले मेनू से "नई कुंजी बनाएं" चुनें।
अब हमारे पास अपनी नई कुंजी का प्रारूप चुनने का विकल्प है - डिफ़ॉल्ट JSON है और हम इसे चयनित छोड़ देंगे। बनाएं क्लिक करें.
ऐसा करने के बाद, आपके कंप्यूटर पर एक फ़ाइल डाउनलोड हो जाएगी। इस फ़ाइल को रखना सुनिश्चित करें क्योंकि इसमें आपके सेवा खाते के लिए प्रासंगिक सभी डेटा है और आप इसे फिर से डाउनलोड नहीं कर पाएंगे।
हम इस फ़ाइल की सामग्री लेंगे और फिर इसके साथ एक GitHub रहस्य बनाएंगे (secrets.SERVICE_ACCOUNT )।
अंतिम लेकिन कम से कम, हमें Google Play को इस सेवा खाते से अवगत कराने की आवश्यकता है। ऐसा करने के लिए हमें अपने Google Play कंसोल खाते में लॉग इन करना होगा और सेटअप →एपीआई एक्सेस पर जाना होगा .
यदि आप पृष्ठ को नीचे स्क्रॉल करते हैं, तो आपको सेवा खाते नामक एक अनुभाग दिखाई देगा। आप पहले बनाए गए सेवा खाते को देखने में सक्षम होना चाहिए। ग्रांट एक्सेस लिंक पर क्लिक करें
खुलने वाली सेटिंग में, ऐप अनुमतियों पर जाएं। यहां आप चुनेंगे कि यह सेवा खाता किस एप्लिकेशन से इंटरैक्ट करता है।
खाता अनुमतियों के अंतर्गत, रिलीज़ . के अंतर्गत सब कुछ अनुभाग की जाँच की जानी चाहिए। मैं आपको अन्य सभी सेटिंग्स को देखने और अपने लिए तय करने की अत्यधिक सलाह देता हूं कि आप क्या चेक करना चाहते हैं या आप क्या चेक करना चाहते हैं।
एक बार जब आप कर लें, तो उपयोगकर्ता को आमंत्रित करें . क्लिक करें नीचे दाएं कोने में स्थित बटन।
आमंत्रण भेजे जाने के बाद, हम कार्रवाई को संग्रहीत करने के लिए प्रकाशन चला सकते हैं।
GitHub में हमारे कार्यों की निगरानी कैसे करें
यह देखने के लिए कि आपके भंडार के लिए कौन सी क्रियाएं परिभाषित हैं, क्रियाएँ टैब पर क्लिक करें। यह टैब परिभाषित और पहले से चल चुके सभी कार्यप्रवाहों को दिखाता है।
बाईं ओर आप उन सभी क्रियाओं को देख सकते हैं जिन्हें परिभाषित किया गया है और दाईं ओर आप उन सभी क्रियाओं को देख सकते हैं जो चलाई गई हैं। यदि आप किसी विशिष्ट क्रिया को देखना चाहते हैं, तो आप उस पर क्लिक कर सकते हैं।
यदि कार्रवाई को workflow_dispatch . पर चलने के लिए परिभाषित किया गया है , आपको इसे चलाने के लिए सक्षम करने वाला एक बटन दिखाई देगा (जैसे ऊपर चित्र में)।
यदि आप किसी वर्कफ़्लो का विशिष्ट रन देखना चाहते हैं, तो आप किसी एक रन पर क्लिक करके मुख्य वर्कफ़्लोज़ पेज से भी ऐसा कर सकते हैं। यदि कोई कार्रवाई विफल हो जाती है, तो यह जांच करने और यह देखने का स्थान होगा कि क्या गलत हुआ।
जब पुल अनुरोध खोला जाता है तो हमारी पहली क्रिया को ट्रिगर किया जाना चाहिए। अगर यह सही ढंग से काम करता है, तो आपको यह देखना चाहिए:
और वहां आपके पास है!
रैपिंग अप
यह इस बिंदु तक एक लंबे समय तक पढ़ा गया है, लेकिन हमने अपने अनुप्रयोगों के लिए एक सतत एकीकरण और सतत परिनियोजन पाइपलाइन बनाने के लिए आपको जो कुछ भी चाहिए, उसे पूरा कर लिया है।
यदि आप यह देखने में रुचि रखते हैं कि गिटहब क्रियाएं कैसे स्थापित की जाती हैं, तो आप उन्हें यहां मेरे किसी एक भंडार में देख सकते हैं:
क्रियाएँ · TomerPacific/LaundrySymbolsएक स्पष्टीकरण के साथ कोटलिन में लिखा गया एक आवेदन विभिन्न कपड़े धोने के प्रतीकों को दिखा रहा है:चक्रवात:- क्रियाएँ · TomerPacific/LaundrySymbols TomerPacificGitHubGitHub क्रियाओं के बारे में अधिक पढ़ने के लिए, यहाँ जाएँ:
GitHub Actions Documentation - GitHub Docs, GitHub Actions के साथ अपने रिपॉजिटरी में अपने सॉफ़्टवेयर डेवलपमेंट वर्कफ़्लोज़ को स्वचालित, कस्टमाइज़ और निष्पादित करें। आप सीआई/सीडी सहित कोई भी कार्य करने के लिए कार्रवाइयां खोज सकते हैं, बना सकते हैं और साझा कर सकते हैं, और पूरी तरह से अनुकूलित वर्कफ़्लो में क्रियाओं को जोड़ सकते हैं। GitHub डॉक्स