በጄንኪንስ ሥራ ውስጥ ተለዋዋጭ መለኪያዎችን መፍጠር ወይም ተግባርዎን እንዴት ለተጠቃሚ ምቹ ማድረግ እንደሚችሉ

እንደምን ዋልክ, ሀብር!

ዛሬ አንዱን እንዴት መጠቀም እንዳለብኝ ላካፍላችሁ ወደድኩ። ንቁ ምርጫዎች ተሰኪ ውስጥ ተግባሩን ያከናውኑ ጄንከንዝ ለተጠቃሚው በጣም የተዋሃደ እና ለመረዳት የሚቻል.

መግቢያ

እንደ DevOps ያለ አህጽሮተ ቃል ለረጅም ጊዜ ለ IT ማህበረሰብ አዲስ ነገር አይደለም። ለብዙ ሰዎች "DevOps አድርግ" የሚለው ሐረግ ከአንዳንድ የአስማት አዝራር ጋር የተቆራኘ ነው, ጠቅ ሲደረግ, የመተግበሪያው ኮድ በራስ-ሰር ወደ ተዘረጋ እና የተፈተነ መተግበሪያ ይለወጣል (በእርግጥ በጣም የተወሳሰበ ነው, ነገር ግን ከሁሉም ሂደቶች እንጨምራለን).

ስለዚህ, አስተዳዳሪዎች መተግበሪያውን በአንድ ጠቅታ ማሰማራት እንዲችሉ እንደዚህ አይነት አስማታዊ አዝራር ለመስራት ትእዛዝ ደርሰናል. የዚህ ተግባር የተለያዩ የትግበራ ዓይነቶች አሉ-ለማንኛውም መልእክተኞች ቦት ከመፃፍ ጀምሮ እና በተለየ መተግበሪያ ልማት ያበቃል። ሆኖም ፣ የዚህ ሁሉ ግብ አንድ ነው - የመሰብሰቢያውን መጀመር እና የመተግበሪያውን ማሰማራት በተቻለ መጠን ግልፅ እና ምቹ ለማድረግ።

በእኛ ሁኔታ, እንጠቀማለን ጄንከንዝ.


በጄንኪንስ ሥራ ውስጥ ተለዋዋጭ መለኪያዎችን መፍጠር ወይም ተግባርዎን እንዴት ለተጠቃሚ ምቹ ማድረግ እንደሚችሉ

ዓላማ

ጉባኤውን እና (ወይም) የአንድ የተወሰነ ስሪት የተመረጠውን ማይክሮ አገልግሎት የሚያሰማራ ምቹ የጄንኪንስ ስራ ይፍጠሩ።

በጄንኪንስ ሥራ ውስጥ ተለዋዋጭ መለኪያዎችን መፍጠር ወይም ተግባርዎን እንዴት ለተጠቃሚ ምቹ ማድረግ እንደሚችሉ

የግቤት ውሂብ

የተለያዩ የማይክሮ አገልግሎቶችን ምንጭ ኮድ የያዙ ብዙ ማከማቻዎች አሉን።

መለኪያዎችን መግለጽ

የሥራችን ግብአት የሚከተሉትን መለኪያዎች መቀበል አለበት:

  1. ስራውን ስናከናውን ልንገነባው እና ማሰማራት የምንፈልገው የማከማቻው ዩአርኤል ከማይክሮ ሰርቪስ ኮድ ጋር።
  2. ለመገንባት የገባው ቃል መታወቂያ።

ባለበት

ይህንን ተግባር ለማከናወን ቀላሉ መንገድ የ String አይነት ሁለት መለኪያዎች መፍጠር ነው.

በጄንኪንስ ሥራ ውስጥ ተለዋዋጭ መለኪያዎችን መፍጠር ወይም ተግባርዎን እንዴት ለተጠቃሚ ምቹ ማድረግ እንደሚችሉ

በዚህ አጋጣሚ ተጠቃሚው ወደ ማከማቻው የሚወስደውን መንገድ እና የቁርጥ መታወቂያውን በእጅ ማስገባት ይኖርበታል፣ ይህ አያችሁት፣ በጣም ምቹ አይደለም።

በጄንኪንስ ሥራ ውስጥ ተለዋዋጭ መለኪያዎችን መፍጠር ወይም ተግባርዎን እንዴት ለተጠቃሚ ምቹ ማድረግ እንደሚችሉ

እንደ መሆን

አሁን ሁሉንም ጥቅሞቹን ለማየት ሌላ ዓይነት መለኪያዎችን እንሞክር.
የመጀመሪያውን ግቤት ከምርጫ መለኪያ ጋር እንፍጠር, ሁለተኛው - ንቁ ምርጫዎች ምላሽ ሰጪ ማጣቀሻ መለኪያ. ከምርጫ አይነት ጋር ባለው ግቤት ውስጥ ፣የእኛ የማይክሮ ሰርቪስ ኮድ በሚከማችበት በምርጫ መስክ ውስጥ ያሉትን የመረጃ ማከማቻዎች ስም በእጅ እንጨምራለን ።

በጄንኪንስ ሥራ ውስጥ ተለዋዋጭ መለኪያዎችን መፍጠር ወይም ተግባርዎን እንዴት ለተጠቃሚ ምቹ ማድረግ እንደሚችሉ

ተሰብሳቢዎቹ ይህንን ጽሑፍ ከወደዱት በሚቀጥለው ጽሑፍ በኮዱ (ኮንፊገሬሽን እንደ ኮድ) መግለጫውን በመጠቀም በጄንኪንስ ውስጥ ተግባራትን የማዋቀር ሂደትን እገልጻለሁ ፣ ማለትም ። የማጠራቀሚያዎችን ስም በእጅ ማስገባት እና ግቤቶችን መፍጠር አያስፈልገንም ፣ ሁሉም ነገር በራስ-ሰር ይከናወናል (የእኛ ኮድ ከ SCM ማከማቻ ዝርዝር ያገኛል እና ከዚህ ዝርዝር ጋር ግቤት ይፈጥራል)።

የሁለተኛው ግቤት እሴቶች በተለዋዋጭ ይሞላሉ ፣ የመጀመሪያው ግቤት ምን ያህል እንደሚወስድ (ሙከራ 1 ወይም test2) ላይ በመመስረት ፣ እያንዳንዱ ማከማቻ የራሱ የሆነ የአፈፃፀም ዝርዝር አለው።

ንቁ ምርጫዎች ምላሽ ሰጪ ማጣቀሻ መለኪያ ለመሙላት የሚከተሉትን መስኮች አሉት

  1. ስም - የመለኪያ ስም.
  2. ስክሪፕት - ከተጠቀሰው መለኪያ መስክ የመለኪያው ዋጋ በተቀየረ ቁጥር የሚተገበር ኮድ (በእኛ ሁኔታ በ test1 እና test2 መካከል በምንመርጥበት ጊዜ)።
  3. መግለጫ - የመለኪያው አጭር መግለጫ።
  4. የምርጫ ዓይነት - በስክሪፕቱ የተመለሰው ዕቃ ዓይነት (በእኛ ሁኔታ የኤችቲኤምኤል ኮድ እንመልሳለን)።
  5. የተጠቀሰው መለኪያ - የመለኪያው ስም ፣ ዋጋው ሲቀየር ፣ ከስክሪፕቱ ክፍል የሚገኘው ኮድ ይከናወናል።

በጄንኪንስ ሥራ ውስጥ ተለዋዋጭ መለኪያዎችን መፍጠር ወይም ተግባርዎን እንዴት ለተጠቃሚ ምቹ ማድረግ እንደሚችሉ

በዚህ ግቤት ውስጥ በጣም አስፈላጊ የሆነውን መስክ ወደ መሙላት በቀጥታ እንቀጥል. ለመምረጥ ሁለት አይነት አተገባበር አቅርበናል፡ መጠቀም ግሩቪ ስክሪፕት ወይም ስክሪፕትለር ስክሪፕት.
ስክሪፕትለር ቀደም ብለው የፃፏቸውን ስክሪፕቶች የሚያስቀምጥ እና እንደገና ሳይገለብጡ በሌሎች ስራዎች ላይ እንዲጠቀሙ የሚያስችል ፕለጊን ስለሆነ የመጀመሪያውን እንመርጣለን ።

ሁሉንም ግዴታዎች ከተመረጠው ማከማቻ ለማግኘት Groovy code፡-

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) እንደ ግብአት ይቀበላል፣ ወደዚህ ጥያቄ ይልካል Bitbucket (ዘዴ GetCommitsForMicroservice) ኤፒአይውን ተጠቅሞ መታወቂያውን ያገኛል እና የሁሉም ቃል ኪዳን መልእክት ለተሰጠው ማይክሮ አገልግሎት።
ቀደም ሲል እንደተገለፀው, ይህ ኮድ በገጹ ላይ የሚታየውን html መመለስ አለበት በParameters ይገንቡ በጄንኪንስ ውስጥ, ስለዚህ ሁሉንም የተቀበሉት ዋጋዎች ከ Bitbucket ዝርዝር ውስጥ እናጠቃልለን ወደ ምርጫው እንጨምራለን.

ሁሉንም ደረጃዎች ከጨረስን በኋላ, እንደዚህ አይነት የሚያምር ገጽ ማግኘት አለብን በParameters ይገንቡ.

የሙከራ 1 ማይክሮ አገልግሎትን ከመረጡ፡-

በጄንኪንስ ሥራ ውስጥ ተለዋዋጭ መለኪያዎችን መፍጠር ወይም ተግባርዎን እንዴት ለተጠቃሚ ምቹ ማድረግ እንደሚችሉ

የሙከራ 2 ማይክሮ አገልግሎትን ከመረጡ፡-

በጄንኪንስ ሥራ ውስጥ ተለዋዋጭ መለኪያዎችን መፍጠር ወይም ተግባርዎን እንዴት ለተጠቃሚ ምቹ ማድረግ እንደሚችሉ

ተጠቃሚው በየግዜው ዩአርኤልን ከመቅዳት እና አስፈላጊውን የመፈጸም መታወቂያ ከመፈለግ በዚህ መንገድ ከእርስዎ ተግባር ጋር መስተጋብር መፍጠር የበለጠ ምቹ እንደሚሆን ይስማሙ።

PS ጉባኤዎች ብዙ የተለያዩ አማራጮች ስላሏቸው ይህ መጣጥፍ በጣም ቀላል የሆነ ምሳሌ ነው እንደ እሱ ተግባራዊ ጥቅም ላይ ሊውል አይችልም ፣ ግን የዚህ ጽሑፍ ዓላማ መሣሪያው እንዴት እንደሚሰራ ለማሳየት እንጂ ውጤታማ መፍትሄ ለመስጠት አይደለም።

PSS ቀደም ብዬ እንደጻፍኩት, ይህ ጽሑፍ ጠቃሚ ከሆነ, ቀጣዩ ስለ ይሆናል በኮድ በኩል የጄንኪንስ ተግባራት ተለዋዋጭ ውቅር.

ምንጭ: hab.com

አስተያየት ያክሉ