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
    • MetalLB
    • Kong Gateway
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Spinnaker
    • Jenkins
    • Harbor
    • TeamCity
    • Git
      • Bitbucket
  • Coding
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
    • Golang
    • Laravel
    • Python
    • Jquery & JavaScript
    • Selenium
  • Log & Monitor
    • DataDog
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
    • NextCloud
  • Toggle search form

[Jenkins] Share Libraries 4: Importing Static Libraries

Posted on November 10, 2021November 16, 2021 By nim No Comments on [Jenkins] Share Libraries 4: Importing Static Libraries

Ở đây chúng ta có 1 single static method hay func.

https://github.com/mrnim94/pipeline-shared-lib/blob/master/src/com/acceleratedskillup/ValidatorUtils.groovy

package com.acceleratedskillup;

class ValidatorUtils {
	static def validateInput(script) {
    	script.echo "in static validateInput()"
  	}
}

Chúng ta tạo 1 pipeline scipt

@Library("pipeline-shared-lib")
import static com.acceleratedskillup.ValidatorUtils.*;

pipeline{
    agent any
    stages{
        stage("Build"){
            steps{
                script{
                    validateInput(this)
                }
            }
        }
    }
}

theo như suy luận thì bạn thấy validateInput(this)có chứ this đúng không?
nghĩ là block script{} sẽ được đưa vào func validateInput như 1 parameter.
ở file groovy thì nó sử dụng script.echo "in static validateInput()" nên là groovy nó sử dụng được script.echo của block script{}
và script.echo thì mới in ra màn hình log được.

save và build để xem kết quả.

Còn 1 cách khác.

import static com.acceleratedskillup.ValidatorUtils.*;

pipeline{
    agent any
    stages{
        stage("Build"){
            steps{
                script{
                    library ("pipeline-shared-lib").com.acceleratedskillup.ValidatorUtils.validateInput(this)
                }
            }
        }
    }
}
Với agent là none thì ok
vì github trên ngay con master có credentials github

Nhưng nếu agent là any khi đó thì jenkins master kêu con jenkins-container git code về nhưng con jenkins-container lại ko có credentials để git pull nên là lỗi

Mình nghĩ cách này chỉ với được nếu jenkins là 1 con được cài và tạo thêm credentials trên jenkins agent đó

Jenkins

Post navigation

Previous Post: [Jenkins] Share Libraries 3: Import library class.
Next Post: [Jenkins] Share Libraries 5: Custom Steps

More Related Articles

[Jenkins] Lesson 16: Discover parameters in Pipeline Jenkins. Jenkins
[Jenkins] Jobs will be created automatically by Jenkins Job Builder Jenkins
Tìm hiểu về Shared Libraries – Jenkins để thiết tool CICD CI/CD
[Jenkins] Lesson 11: overrideIndexTriggers in Jenkins Pipeline Jenkins
[Jenkins] Share Library 2: Import library Jenkins
[Jenkins] Lesson 6: Parallel in Pipe Jenkins 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

  • Experiences for IP Addresses Shortage on EKS Clusters March 29, 2023
  • [Talisman] Discover the sensitive information in your code. March 28, 2023
  • [Prometheus/Grafana] Install Prometheus and Grafana on ubuntu. March 27, 2023
  • [Kong Gateway] WebSocket connection failed March 26, 2023
  • [Nextcloud] Can’t download files to have a size bigger than 2Gi on NextCloud – RaspBerry March 24, 2023

Archives

  • 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
    • 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
    • Longhorn – Storage
    • MetalLB
    • Vault
    • VictoriaMetrics
  • Log & Monitor
    • DataDog
    • ELK
      • Kibana
      • Logstash
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2023 NimTechnology.