মন্তব্যগুলি কোনও জেনকিনসফাইলে যুক্ত করা যেতে পারে?


177

জেনকিনসফাইলে কি মন্তব্যগুলি সম্ভব? যদি তাই হয়, সিনট্যাক্স কি?

আমি ঘোষিত পাইপলাইন সিনট্যাক্স ব্যবহার করছি।

আমার এসএমটিপি সার্ভারটি কাজ না করা পর্যন্ত আমি নীচে "পোস্ট" বিভাগটি মন্তব্য করতে চাই।

pipeline {

  agent { label 'docker-build-slave' }

  environment {
    IMAGE = 'registry.gitlab.com/XXXXX/bible-server'
    DOCKER_REGISTRY_CREDENTIALS = credentials('DOCKER_REGISTRY_CREDENTIALS')
  }

  options {
    timeout(10)
  }

  stages {

    stage('Test') {
      steps {
        sh 'yarn'
        sh 'npm test'
      }
    }

    stage('Build') {
      when {
        branch '*/master'
      }
      steps {
        sh 'docker login -u ${DOCKER_REGISTRY_CREDENTIALS_USR} -p ${DOCKER_REGISTRY_CREDENTIALS_PSW} registry.gitlab.com'
        sh 'docker build -t ${IMAGE}:${BRANCH_NAME} .'
        sh 'docker push ${IMAGE}:${BRANCH_NAME}'
      }
    }

    stage('Deploy') {
      when {
        branch '*/master'
      }
      steps {
        echo 'Deploying ..'
      }
    }
  }

  post {
    success {
      mail to: "XXXXX@gmail.com", subject:"SUCCESS: ${currentBuild.fullDisplayName}", body: "Yay, we passed."
    }
    failure {
      mail to: "XXXXX@gmail.com", subject:"FAILURE: ${currentBuild.fullDisplayName}", body: "Boo, we failed."
    }
  }
}

2
যখনই জিনকিনসফাইলে আপনার কাছে এই জাতীয় ভাষার প্রশ্ন আসে, কেবল মনে রাখবেন এগুলি বেশিরভাগই গুরু স্ক্রিপ্ট। সুতরাং আপনি "জেনকিনসফাইলে" এর পরিবর্তে "গ্রোভি" কীওয়ার্ডটি যুক্ত করলে আপনি আরও ফলাফল খুঁজে পাবেন possible
রাউল সালিনাস-

উত্তর:


282

জেনকিনসফাইলে গ্রোভিতে রচিত যা মন্তব্যগুলির জাভা (এবং সি) ফর্ম ব্যবহার করে:

/* this
   is a
   multi-line comment */

// this is a single line comment

3
আমি কোনও শ বিভাগের অভ্যন্তরে জেনকিনসফাইলে ঘোষিত পাইপলাইনটি ব্যবহার করছি এবং এটি ব্যর্থ হয়, সম্ভবত এটি ব্লক স্তরে কাজ করে। pipeline { ... stage('Set Tagging') { steps { sh ''' echo "env.m_time='$m_time'" > ${params_file} echo "env.m_comp_tag='${BRANCH_NAME}_${m_time}_${BUILD_NUMBER}'" >> ${params_file} /* echo "env.docker_ws='/usr/local/lib/node_modules/${repo}'" >> ${params_file} */ ''' < ত্রুটি / ব্যাশ অনুমতি ত্রুটির ফলাফল
চেন

6
একটি shবিভাগের অভ্যন্তরে, আপনাকে শেল মন্তব্য চরিত্রটি ব্যবহার করতে হবে:#
বিএমইচ

18

আপনি প্রতিটি লাইনের জন্য ব্লক (/ *** /) বা একক লাইন মন্তব্য (//) ব্যবহার করতে পারেন। Sh কমান্ডে আপনার "#" ব্যবহার করা উচিত।

মন্তব্য ব্লক

/*  
post {
    success {
      mail to: "XXXXX@gmail.com", 
      subject:"SUCCESS: ${currentBuild.fullDisplayName}", 
      body: "Yay, we passed."
    }
    failure {
      mail to: "XXXXX@gmail.com", 
      subject:"FAILURE: ${currentBuild.fullDisplayName}", 
      body: "Boo, we failed."
    }
  }
*/

সপ্তাহের দিন

// post {
//     success {
//       mail to: "XXXXX@gmail.com", 
//       subject:"SUCCESS: ${currentBuild.fullDisplayName}", 
//       body: "Yay, we passed."
//     }
//     failure {
//       mail to: "XXXXX@gmail.com", 
//       subject:"FAILURE: ${currentBuild.fullDisplayName}", 
//       body: "Boo, we failed."
//     }
// }

'Sh' কমান্ডে মন্তব্য করুন

        stage('Unit Test') {
            steps {
                ansiColor('xterm'){
                  sh '''
                  npm test
                  # this is a comment in sh
                  '''
                }
            }
        }


1

মন্তব্যগুলি যে কোনও সাধারণ জাভা / গ্রোভি ফর্মগুলিতে দুর্দান্ত কাজ করে তবে আপনি বর্তমানে এটি প্রক্রিয়া করতে ব্যবহার করতে পারবেন নাgroovydocJenkinsfile (গুলি) ।

প্রথমত, groovydocঅসাধারণ ত্রুটি সহ এক্সটেনশন ছাড়াই ফাইলগুলিতে চোক চাপান

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:109)
    at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:131)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1967)
    at org.codehaus.groovy.tools.groovydoc.SimpleGroovyClassDocAssembler.<init>(SimpleGroovyClassDocAssembler.java:67)
    at org.codehaus.groovy.tools.groovydoc.GroovyRootDocBuilder.parseGroovy(GroovyRootDocBuilder.java:131)
    at org.codehaus.groovy.tools.groovydoc.GroovyRootDocBuilder.getClassDocsFromSingleSource(GroovyRootDocBuilder.java:83)
    at org.codehaus.groovy.tools.groovydoc.GroovyRootDocBuilder.processFile(GroovyRootDocBuilder.java:213)
    at org.codehaus.groovy.tools.groovydoc.GroovyRootDocBuilder.buildTree(GroovyRootDocBuilder.java:168)
    at org.codehaus.groovy.tools.groovydoc.GroovyDocTool.add(GroovyDocTool.java:82)
    at org.codehaus.groovy.tools.groovydoc.GroovyDocTool$add.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
    at org.codehaus.groovy.tools.groovydoc.Main.execute(Main.groovy:214)
    at org.codehaus.groovy.tools.groovydoc.Main.main(Main.groovy:180)
    ... 6 more

... এবং দ্বিতীয়টি, আমি যতদূর বলতে পারি groovyস্ক্রিপ্টের শুরুতে জাভাদোক-স্টাইলের কমিটগুলি উপেক্ষা করা হয়। এমনকি আপনি যদি নিজের অনুলিপি / নাম পরিবর্তন Jenkinsfileকরে থাকেনJenkinsfile.groovy , আপনি অনেক দরকারী আউটপুট পাবেন না।

আমি একটি ব্যবহার করতে সক্ষম হতে চাই

/**
 * Document my Jenkinsfile's overall purpose here
 */

আমার জেনকিনসফিলের শুরুতে মন্তব্য করুন। এরকম কোনও ভাগ্য নেই (এখনও)।

groovydoc আপনিJenkinsfile যদি -privateআদেশটি পাস করেন তবে আপনার সংজ্ঞায়িত ক্লাস এবং পদ্ধতিগুলি প্রক্রিয়া করবে though


1

সরকারী জেনকিন্স ডকুমেন্টেশন কেবল নিচের মত একক লাইন কমান্ড উল্লেখ:

// Declarative //

এবং ( দেখুন )

pipeline {
    /* insert Declarative Pipeline here */
}

Jenkinsfile বাক্য গঠন প্রণালী উপর ভিত্তি করে তৈরি খাঁজকাটা তাই এটি ব্যবহার করা সম্ভব মন্তব্যের জন্য খাঁজকাটা সিনট্যাক্স । উদ্ধৃতি:

/* a standalone multiline comment
   spanning two lines */
println "hello" /* a multiline comment starting
                   at the end of a statement */
println 1 /* one */ + 2 /* two */

অথবা

/**
 * such a nice comment
 */
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.