下面给你一套**在 Debian 上配置 Jenkins Agent(节点)**的常见做法,分为 SSH 方式(最常用) 和 JNLP/Web 方式。
Jenkins Agent 需要 JVM:
sudo apt update
sudo apt install -y openjdk-17-jdk
# 或 11
# openjdk-11-jdk
验证:
java -version
sudo useradd -m -s /bin/bash jenkins
sudo passwd jenkins
Permanent Agent/home/jenkins/agent
Launch agents via SSH
jenkins在 Jenkins Master 上:
ssh-keygen
ssh-copy-id jenkins@agent-ip
测试:
ssh jenkins@agent-ip
sudo mkdir -p /home/jenkins/agent
sudo chown -R jenkins:jenkins /home/jenkins/agent
Online 即成功Launch agent by connecting it to the master
保存后会得到类似:
java -jar agent.jar -jnlpUrl http://jenkins-url/computer/agent-name/slave-agent.jnlp -secret xxxxxx
mkdir -p /home/jenkins/agent
cd /home/jenkins/agent
wget http://jenkins-url/jnlpJars/agent.jar
运行:
java -jar agent.jar \
-jnlpUrl http://jenkins-url/computer/agent-name/slave-agent.jnlp \
-secret your-secret
sudo nano /etc/systemd/system/jenkins-agent.service
[Unit]
Description=Jenkins Agent
After=network.target
[Service]
User=jenkins
WorkingDirectory=/home/jenkins/agent
ExecStart=/usr/bin/java -jar /home/jenkins/agent/agent.jar \
-jnlpUrl http://jenkins-url/computer/agent-name/slave-agent.jnlp \
-secret your-secret
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now jenkins-agent
22(SSH)或 8080df -h
free -h
在节点配置中加:
Labels: debian docker build
Pipeline 中:
agent { label 'debian' }
如果你愿意,可以告诉我:
我可以给你更精确的配置示例。