Tạo/xoá thông tin Jenkins Node trên Jenkins bằng CLI

Tạo/xoá thông tin Jenkins Node trên Jenkins bằng CLICuongquach.com | Tạo/xoá thông tin một Jenkins Node (Jenkins Master – Jenkins Slave) trên Jenkins giao diện web thì khá là đơn giản rồi. Nhưng bạn đã biết cách khởi tạo/xoá một Jenkins Node trên dịch vụ Jenkins thông qua Command Line (CLI) hay chưa ? Thao tác này khá là có ích nếu bạn quan tâm đến quá trình tự động hoá tác vụ tạo/xoá Jenkins Node đấy. Hôm nay chúng ta sẽ cùng đến với nội dung hướng dẫn này.

tao-xoa-jenkins-node-bang-cli

Jenkins Node trên Jenkins là gì ?

Khi bạn thiết kế một hệ thống CICD phân tán sẽ bao gồm Jenkins Master Node và các Jenkins Slave Node. Các Jenkins Slave Node thường được dùng để giảm tải quá trình build ứng dụng bằng cách chia tải process cicd build ra các máy chủ Jenkins Slave.

jenkins master slave
jenkins master slave

1. Thao tác tạo Jenkins Node trên Jenkins bằng CLI

Đầu tiên bạn cần download chương trình ‘jenkins-cli‘ của dịch vụ Jenkins đang chạy. Chương trình ‘jenkins-cli‘ sẽ giúp bạn tương tác với API dịch vụ Jenkins mà bạn đang host.

Ví dụ dịch vụ Jenkins mình đang chạy dưới domain : https://jenkins.cuongquachlab.com/

# cd /opt/
# wget https://jenkins.cuongquachlab.com/jnlpJars/jenkins-cli.jar
# mv jenkins-cli.jar /usr/bin/jenkins-cli.jar
# chmod +x /usr/bin/jenkins-cli.jar

Kế đến bạn cần khai báo một file template định dạng *.xml với nội dung như dưới, giả sử mình thêm Jenkins Node tên ‘demo-cuongquachlab.jenkins.slave‘ với địa chỉ IP là ‘10.100.199.10‘, thông tin Credential để SSH qua là ‘demo-cuongquachlab‘.

# cd /opt/
# vi jenkins-node.xml
<?xml version='1.1' encoding='UTF-8'?>
<slave>
  <name>demo-cuongquachlab.jenkins.slave</name>
  <description>demo-cuongquachlab.jenkins.slave</description>
  <remoteFS>/var/lib/jenkins/</remoteFS>
  <numExecutors>10</numExecutors>
  <mode>EXCLUSIVE</mode>
  <retentionStrategy class="hudson.slaves.RetentionStrategy$Always"/>
  <launcher class="hudson.plugins.sshslaves.SSHLauncher" plugin="ssh-slaves@1.29.4">
    <host>10.100.199.10</host>
    <port>22</port>
    <credentialsId>demo-cuongquachlab</credentialsId>
    <launchTimeoutSeconds>210</launchTimeoutSeconds>
    <maxNumRetries>10</maxNumRetries>
    <retryWaitTime>15</retryWaitTime>
    <sshHostKeyVerificationStrategy class="hudson.plugins.sshslaves.verifiers.NonVerifyingKeyVerificationStrategy"/>
    <tcpNoDelay>true</tcpNoDelay>
  </launcher>
  <label>demo-cuongquachlab.jenkins.slave</label>
  <nodeProperties/>
</slave>

Kế đến bạn cần chạy cú pháp lệnh sau để tạo mới Jenkins Node trên Jenkins. Để chạy lệnh chương trình với ‘jenkins-cli‘ bạn cần có thông tin user được phân quyền đầy đủ tương tác với Jenkins trước đã nhé. Ví dụ : user ‘jenkins‘ có quyền hạn cấu hình thông tin Node trên Jenkins.

# java -jar /usr/bin/jenkins-cli.jar -auth jenkins:Zc9tggGFPDS4Eaa -s https://jenkins.cuongquachlab.com/ create-node < /opt/jenkins-node.xml

Sau đó bạn kiểm tra trên giao diện quản lý dịch vụ Jenkins sẽ thấy thông tin Jenkins Node mới tạo.

2. Thao tác xoá Jenkins Node trên Jenkins với CLI

Bạn chỉ cần chạy cú pháp với chương trình ‘jenkins-cli‘ như dưới kèm thông tin tên Jenkins Node mà bạn muốn xoá.

# java -jar /usr/bin/jenkins-cli.jar -auth jenkins:Zc9tggGFPDS4Eaa -s https://jenkins.cuongquachlab.com/ delete-node demo-cuongquachlab.jenkins.slave

Nguồn: https://cuongquach.com/

Previous articleCấu hình ‘user_data’ trong resource AWS Terraform
Next article[AWS-News] Bản tin cập nhật từ AWS ngày 26/08/2019
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !