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
      • Pod
    • Helm Chart
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
    • MetalLB
    • Kong Gateway
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Spinnaker
    • Jenkins
    • Harbor
    • TeamCity
    • Git
      • Bitbucket
  • Coding
    • DevSecOps
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
    • Golang
    • Laravel
    • Python
    • Jquery & JavaScript
    • Selenium
  • Log, Monitor & Tracing
    • DataDog
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
    • NextCloud
  • 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 15: Parameters. Jenkins
[Jenkins] Lesson 10: disable Concurrent Builds in Jenkins Pipeline Jenkins
[Jenkins] Lesson 14: checkoutToSubdirectory in Jenkins Pipeline – Change directory workspace Jenkins
[Jenkins] Scripted Pipeline lesson 14: Options _ NewContainerPerStage. Jenkins
[Jenkins] Scripted Pipeline lesson 9: Options _ DisableConcurrentBuilds Jenkins
[Jenkins – Kubernestes] Jenkins tạo Jenkins slave trên Kubernetes CI/CD

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

  • [Terraform / EKS] Build EKS and Karpenter by Terraform. September 22, 2023
  • [EKS] Adjusting things to migrate EKS legacy to new versions. September 19, 2023
  • [Tetragon] Security Observability and Runtime Enforcement September 17, 2023
  • [Docker] Setup Docker for Windows Containers (NO Docker Desktop Needed!) September 15, 2023
  • [Python] Python connects MongoDB September 15, 2023

Archives

  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • 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
    • NextCloud
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Git
      • Bitbucket
    • Harbor
    • Jenkins
    • Spinnaker
    • TeamCity
  • Coding
    • DevSecOps
    • Golang
    • Jquery & JavaScript
    • Laravel
    • Python
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kong Gateway
    • Kubernetes
      • Ingress
      • Pod
    • Longhorn – Storage
    • MetalLB
    • Vault
    • VictoriaMetrics
  • Log, Monitor & Tracing
    • DataDog
    • ELK
      • Kibana
      • Logstash
    • Fluent
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2023 NimTechnology.