جينڪنز نوڪري ۾ متحرڪ پيٽرولر ٺاهڻ، يا توهان جي ڪم کي صارف دوست ڪيئن ٺاهيو

توهان جو ڏينهن سٺو گذري، حبر!

اڄ آئون استعمال ڪرڻ جي طريقن مان هڪ حصيداري ڪرڻ چاهيندس فعال چونڊون پلگ ان ۾ ڪم ڪريو جينکن سڀ کان وڌيڪ متحد ۽ صارف دوست.

تعارف

اهڙو مخفف DevOps هاڻي آئي ٽي ڪميونٽي لاءِ ڪجهه نئون ناهي. ڪيترن ئي ماڻهن لاءِ، جملي ”ڊو ڊي اوپس“ ڪنهن قسم جي جادوئي بٽڻ سان جڙيل آهي، جڏهن ڪلڪ ڪيو ويندو آهي، ايپليڪيشن ڪوڊ خودڪار طريقي سان ترتيب ڏنل ۽ آزمائشي ايپليڪيشن ۾ تبديل ٿي ويندو آهي (هر شي اصل ۾ وڌيڪ پيچيده آهي، پر اسان سڀني عملن کان خلاصي ڪري رهيا آهيون).

تنهن ڪري، اسان کي هڪ اهڙو جادوئي بٽڻ ٺاهڻ جو آرڊر مليو ته جيئن منتظمين ايپليڪيشن کي هڪ ڪلڪ سان ترتيب ڏئي سگهن. ھن ٽاسڪ تي عمل درآمد جا مختلف قسم آھن: ڪنھن به انسٽنٽ ميسينجر لاءِ بوٽ لکڻ کان وٺي ھڪ الڳ ايپليڪيشن تيار ڪرڻ تائين. تنهن هوندي به، هن سڀني جو هڪ ئي مقصد آهي - ايپليڪيشن جي تعمير ۽ ترتيب ڏيڻ کي ممڪن طور تي شفاف ۽ آسان بڻائڻ.

اسان جي صورت ۾ استعمال ڪنداسين جينکن.


جينڪنز نوڪري ۾ متحرڪ پيٽرولر ٺاهڻ، يا توهان جي ڪم کي صارف دوست ڪيئن ٺاهيو

مقصد

ھڪڙو آسان جينڪنز نوڪري ٺاھيو جيڪو ھڪڙي خاص ورزن جي چونڊيل مائڪرو سروس جي تعمير ۽ (يا) ڊيپلائيشن شروع ڪندو.

جينڪنز نوڪري ۾ متحرڪ پيٽرولر ٺاهڻ، يا توهان جي ڪم کي صارف دوست ڪيئن ٺاهيو

ان پٽ ڊيٽا

اسان وٽ ڪيترائي ذخيرا آھن جن ۾ مختلف مائڪرو سروسز جا سورس ڪوڊ شامل آھن.

وضاحتي پيراگراف

ھيٺ ڏنل پيٽرولن کي اسان جي نوڪري لاء ان پٽ طور وصول ڪيو وڃي.

  1. مائڪرو سروس ڪوڊ سان گڏ مخزن جو URL جيڪو اسان ٺاهڻ چاهيون ٿا ۽ ان کي ترتيب ڏيو جڏهن نوڪري هلائي رهيا آهيو.
  2. وابستگي جي ID جنهن مان تعمير ٿيندي.

جيئن آهي

هن ڪم کي پورو ڪرڻ جو آسان طريقو آهي ٻه پيرا ميٽر ٺاهڻ جو قسم String.

جينڪنز نوڪري ۾ متحرڪ پيٽرولر ٺاهڻ، يا توهان جي ڪم کي صارف دوست ڪيئن ٺاهيو

انهي صورت ۾، صارف کي دستي طور تي داخل ٿيڻ جي ضرورت پوندي مخزن ڏانهن رستو ۽ ڪمٽ id، جيڪو، توهان ڏسو، مڪمل طور تي آسان ناهي.

جينڪنز نوڪري ۾ متحرڪ پيٽرولر ٺاهڻ، يا توهان جي ڪم کي صارف دوست ڪيئن ٺاهيو

جيئن ٿيڻو آهي

هاڻي اچو ته ان جي سڀني فائدن تي غور ڪرڻ لاء هڪ ٻئي قسم جي پيراگراف جي ڪوشش ڪريو.
اچو ته پھريون پيراميٽر ٺاھيون ٽائپ چوائس پيراميٽر سان، ٻيو - Active Choices Reactive Reference Parameter. چوائس جي قسم سان پيراميٽر ۾، اسان دستي طور تي چوائسز فيلڊ ۾ شامل ڪنداسين ريپوزٽريز جا نالا جتي اسان جي مائڪرو سروسز جو ڪوڊ محفوظ ٿيل آهي.

جينڪنز نوڪري ۾ متحرڪ پيٽرولر ٺاهڻ، يا توهان جي ڪم کي صارف دوست ڪيئن ٺاهيو

جيڪڏهن سامعين هن مضمون کي پسند ڪن ٿا، ته پوءِ ايندڙ مضمون ۾ آئون وضاحت ڪندس جينڪنز ۾ ڪمن کي ترتيب ڏيڻ جي عمل کي، ڪوڊ ذريعي وضاحت استعمال ڪندي (ڪوڊ جي طور تي ترتيب ڏيڻ)، يعني. اسان کي دستي طور تي مخزن جا نالا داخل ڪرڻ ۽ پيرا ميٽر ٺاهڻ جي ضرورت نه پوندي، سڀ ڪجھ خودڪار ٿي ويندو (اسان جو ڪوڊ SCM کان مخزن جي هڪ فهرست وصول ڪندو ۽ هن فهرست سان هڪ پيٽرولر ٺاهيندو).

ٻئي پيٽرولر جا قدر متحرڪ طور تي ڀريا ويندا، ان تي منحصر ڪري ٿو ته پهريون پيٽرولر ڪهڙي قدر وٺندو آهي (test1 يا test2)، ڇاڪاڻ ته هر مخزن جي پنهنجي ڪمن جي فهرست آهي.

Active Choices Reactive Reference Parameter ڀرڻ لاءِ ھيٺيون فيلڊون آھن:

  1. نالو - پيٽرولر جو نالو.
  2. رسم الخط - ڪوڊ جيڪو هر دفعي عمل ڪيو ويندو پيراميٽر جي قيمت ريفرنس ٿيل پيراميٽر فيلڊ مان تبديل ٿي ويندي آهي (اسان جي صورت ۾، جڏهن اسان test1 ۽ test2 جي وچ ۾ چونڊيندا آهيون).
  3. وضاحت - پيٽرول جي مختصر وضاحت.
  4. چونڊ جو قسم - اسڪرپٽ طرفان واپس ڪيل اعتراض جو قسم (اسان جي صورت ۾ اسين واپس ڪنداسين html ڪوڊ).
  5. حوالو ڏنل پيٽرولر - پيٽرولر جو نالو، جڏهن ان جو قدر تبديل ڪيو ويندو، اسڪرپٽ سيڪشن مان ڪوڊ تي عمل ڪيو ويندو.

جينڪنز نوڪري ۾ متحرڪ پيٽرولر ٺاهڻ، يا توهان جي ڪم کي صارف دوست ڪيئن ٺاهيو

اچو ته سڌو سنئون اڳتي وڌون ھن پيٽرول ۾ سڀ کان اھم فيلڊ ڀرڻ لاءِ. اسان کي پيش ڪيو ويو آهي ٻن قسمن جي عمل درآمد مان چونڊڻ لاء: استعمال ڪندي گرووي اسڪرپٽ يا اسڪرپٽ اسڪرپٽ.
اسان پهريون چونڊيو، ڇاڪاڻ ته اسڪرپٽلر صرف هڪ پلگ ان آهي جيڪو محفوظ ڪري ٿو اسڪرپٽ جيڪي توهان اڳ ۾ لکيو آهي ۽ توهان کي اجازت ڏئي ٿو انهن کي ٻين ڪمن ۾ استعمال ڪرڻ جي بغير ڪاپي پيسٽ ڪرڻ جي.

چونڊيل مخزن مان سڀ ڪميٽ حاصل ڪرڻ لاءِ گرووي ڪوڊ:

AUTH = "логин и пароль в Base64"                           
GIT_URL = "url до вашей SCM (https://bitbucket.org/)"                       
PROJECT_NAME = "имя проектной области, где находятся репозитории"

def htmlBuild() {
    html = """
            <html>
            <head>
            <meta charset="windows-1251">
            <style type="text/css">
            div.grayTable {
            text-align: left;
            border-collapse: collapse;
            }
            .divTable.grayTable .divTableCell, .divTable.grayTable .divTableHead {
            padding: 0px 3px;
            }
            .divTable.grayTable .divTableBody .divTableCell {
            font-size: 13px;
            }
            </style>
            </head>
            <body>
        """

    def commitOptions = ""
    getCommitsForMicroservice(MICROSERVICE_NAME).each {
        commitOptions += "<option style='font-style: italic' value='COMMIT=${it.getKey()}'>${it}</option>"
    }
    html += """<p style="display: inline-block;">
        <select id="commit_id" size="1" name="value">
            ${commitOptions}
        </select></p></div>"""

    html += """
            </div>
            </div>
            </div>
            </body>
            </html>
         """
    return html
}

def getCommitsForMicroservice(microserviceRepo) {
    def commits = [:]
    def endpoint = GIT_URL + "/rest/api/1.0/projects/${PROJECT_NAME}/repos/${microserviceRepo}/commits"
    def conn = new URL(endpoint).openConnection()
    conn.setRequestProperty("Authorization", "Basic ${AUTH}")
    def response = new groovy.json.JsonSlurper().parseText(conn.content.text)
    response.values.each {
        commits.put(it.displayId, it.message)
    }
    return commits
}

return htmlBuild()

تفصيل ۾ وڃڻ کان سواءِ، هي ڪوڊ ان پٽ طور microservice name (MICROSERVICE_NAME) وصول ڪري ٿو ۽ هڪ درخواست موڪلي ٿو بٽبل (طريقو GetCommitsForMicroservice) ان جي API کي استعمال ڪندي، ۽ ڏنل microservice لاء سڀني ڪمن جي id ۽ عزم جو پيغام حاصل ڪري ٿو.
جيئن اڳ بيان ڪيو ويو آهي، هي ڪوڊ واپس ڪرڻ گهرجي html جيڪو صفحي تي ڏيکاريو ويندو پيرا ميٽرز سان ٺاهيو جينڪنز ۾، تنهنڪري اسان Bitbucket مان حاصل ڪيل سڀني قيمتن کي لسٽ ۾ لپيندا آهيون ۽ انهن کي چونڊڻ لاء شامل ڪندا آهيون.

سڀني مرحلن کي مڪمل ڪرڻ کان پوء، اسان کي هڪ خوبصورت صفحو حاصل ڪرڻ گهرجي پيرا ميٽرز سان ٺاهيو.

جيڪڏهن توهان چونڊيو test1 microservice:

جينڪنز نوڪري ۾ متحرڪ پيٽرولر ٺاهڻ، يا توهان جي ڪم کي صارف دوست ڪيئن ٺاهيو

جيڪڏهن توهان چونڊيو test2 microservice:

جينڪنز نوڪري ۾ متحرڪ پيٽرولر ٺاهڻ، يا توهان جي ڪم کي صارف دوست ڪيئن ٺاهيو

اتفاق ڪيو ته اهو صارف لاءِ وڌيڪ آسان هوندو ته توهان جي ڪم سان هن طريقي سان لهه وچڙ ۾ هر دفعي يو آر ايل کي نقل ڪرڻ ۽ گهربل ڪمٽ آئي ڊي ڳولڻ کان.

پي ايس هي آرٽيڪل هڪ تمام آسان مثال مهيا ڪري ٿو، جيڪو شايد هن فارم ۾ عملي طور استعمال نٿو ڪري سگهي، ڇاڪاڻ ته اسيمبلين ۾ ڪيترائي مختلف پيٽرولر آهن، پر هن مضمون جو مقصد اهو ڏيکارڻ هو ته اوزار ڪيئن ڪم ڪري ٿو، ڪم ڪندڙ حل مهيا ڪرڻ نه.

پي ايس ايس جيئن ته مون اڳ ۾ لکيو آهي، جيڪڏهن هي مضمون مفيد آهي، ته پوء ايندڙ هڪ بابت هوندو جينڪنز ڪمن جي متحرڪ ترتيب ڪوڊ ذريعي.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو