Skip to content

NimTechnology

Trình bày các công nghệ CLOUD một cách dễ hiểu.

  • Kubernetes & Container
    • Docker
    • Kubernetes
      • Ingress
    • Helm Chart
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Spinnaker
    • Jenkins
  • Coding
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
    • Golang
    • Laravel
    • Jquery & JavaScript
    • Git
    • Selenium
  • Log & Monitor
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
  • Toggle search form

[Jenkins] Scripted Pipeline lesson 6: Stage _ Input

Posted on December 6, 2021December 16, 2021 By nim No Comments on [Jenkins] Scripted Pipeline lesson 6: Stage _ Input

Chúng tạo 1 step và require user input mới action tiếp

node{
    def userInput = ""
    stage('Build') {
        userInput = input(id: 'userInput',
                        message: 'Please specify environment',
                        submitterParameter: 'whoIsSubmitter',
                        parameters: [
                            string(name: "environment", defaultValue: "Dev", description: "Environment to build for (valid value: Dev, Text, Prod)"),
                            string(name: "version", defaultValue: "1.0", description: "version number to build for"),
                            booleanParam(name: "to_deploy_to_environment", defaultValue: true, description: ""),
                            choice(choices: "US-EST-1\nUS-EST-2", description: "what aws region?", name: "region"),
                            text(name: "myText", defaultValue: "myTextValue", description: "myText"),
                            password(name: "myPassword", defaultValue: "myPasswordValue", description: "myDescription"),
                            file(name: "myFile", description: "fileDescription"),
                            credentials(name: "myCredentials", description: "myCredentialDesc", required: true),
                        ]
            )
        echo "We are building for ${userInput.environment}, ${userInput.ersion}, and we are deploying to environment: ${userInput.to_deploy_to_environment}"
        echo "region: ${userInput.region}, myText: ${userInput.myText}, myPassword: ${userInput.myPassword}, and myFile: ${userInput.myFile}"
        echo "submitter is: ${userInput.whoIsSubmitter}"
        echo "selected credentials is: ${userInput.myCredentials}"
    }
}

Sau đó ấn build:

ấn requested

Như bài trên thì nó sẽ chờ mãi

Giờ nếu bạn muốn nếu sau 1 thời gian nhất định nếu ko có ai input thì abort

node{
    def userInput = ""
    stage('Build') {
        timeout(time: 1, unit: 'SECONDS'){
            userInput = input(id: 'userInput',
                            message: 'Please specify environment',
                            submitterParameter: 'whoIsSubmitter',
                            parameters: [
                                string(name: "environment", defaultValue: "Dev", description: "Environment to build for (valid value: Dev, Text, Prod)"),
                                string(name: "version", defaultValue: "1.0", description: "version number to build for"),
                                booleanParam(name: "to_deploy_to_environment", defaultValue: true, description: ""),
                                choice(choices: "US-EST-1\nUS-EST-2", description: "what aws region?", name: "region"),
                                text(name: "myText", defaultValue: "myTextValue", description: "myText"),
                                password(name: "myPassword", defaultValue: "myPasswordValue", description: "myDescription"),
                                file(name: "myFile", description: "fileDescription"),
                                credentials(name: "myCredentials", description: "myCredentialDesc", required: true),
                            ]
                )
            echo "We are building for ${userInput.environment}, ${userInput.ersion}, and we are deploying to environment: ${userInput.to_deploy_to_environment}"
            echo "region: ${userInput.region}, myText: ${userInput.myText}, myPassword: ${userInput.myPassword}, and myFile: ${userInput.myFile}"
            echo "submitter is: ${userInput.whoIsSubmitter}"
            echo "selected credentials is: ${userInput.myCredentials}"
        }
        
    }
}
sau 1s ko ai input thì cancel luôn
Jenkins

Post navigation

Previous Post: [Jenkins] Scripted Pipeline lesson 5: Parallel_FailFast
Next Post: [Jenkins] Scripted Pipeline lesson 7: Stage _ Post

More Related Articles

[Jenkins]Scripted Pipeline lesson 16: Tools. Jenkins
[Jenkins] Scripted Pipeline lesson 12: Options _ CheckoutToSubdirectory. Jenkins
[Jenkins] Lesson 7: Create a From by Jenkins Jenkins
[Jenkins]Scripted Pipeline lesson 15: Parameters. Jenkins
[Jenkins] Lesson 15: newContainerPerStages in Pipeline Jenkins Jenkins
[Jenkins] Lesson 19: Trigger other jobs through Jenkins Pipeline Jenkins

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tham Gia Group DevOps nhé!
Để Nim có nhiều động lực ra nhiều bài viết.
Để nhận được những thông báo mới nhất.

Recent Posts

  • Protected: My Assignment  June 24, 2022
  • [Spinnaker] Spinnaker writes too many logs – Reduce spinnaker log level June 22, 2022
  • [Jenkins] Jobs will be created automatically by Jenkins Job Builder June 20, 2022
  • [Postgresql] Install postgresql client and trying a few command postgresql. June 20, 2022
  • [Mount/Nextcloud] How do you mount a hard disk that was used windows into Linux. June 19, 2022

Archives

  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Categories

  • BareMetal
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Jenkins
    • Spinnaker
  • Coding
    • Git
    • Golang
    • Jquery & JavaScript
    • Laravel
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kubernetes
      • Ingress
    • Longhorn – Storage
    • Vault
    • VictoriaMetrics
  • Log & Monitor
    • ELK
      • Kibana
      • Logstash
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2022 NimTechnology.