You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.4 KiB
3.4 KiB
Node Setup Guide
-
Jenkins Plugins
- pipeline
- node and label
- gradle
- maven
-
Java compiler
-
Java 8
# install full jdk8 packge # openjdk-8-jdk-headless exclude some jar file (eg /lib/jconsole.jar) # which is need by alibaba druid dependencies package $ apt install openjdk-8-jdk
-
-
Slave Agent
-
Create a slave VM. Username as
jenkins -
Set to sudo user
# add jenkins user $ adduser jenkins # change jenkins to sudo group $ usermod -aG sudo jenkins # check the user group $ groups jenkins # verify sudo access $ su - jenkins -
Optional, add
jenkinsassudoer -
# add jenkins as sudoer $ visudo # User privilege specification # username hostlist = (userlist) commandlist # eg. Only allow alex to run apt-get update # alex ALL=(ALL) /usr/bin/apt-get update root ALL=(ALL:ALL) ALL jenkins ALL=(ALL:ALL) ALL -
Run jenkins node agent
# download agent.jar file from jenkins server $ wget https://192.168.0.119/jnlpJars/agent.jar --no-check-certificate # run the agent to connect to server $ sudo java -jar agent.jar -jnlpUrl https://192.168.0.119/computer/jenkins.slave/jenkins-agent.jnlp -noCertificateCheck -secret 39694868bc66890cd5eb6c04b0a51692403ab957ceb1d1b258c353a031334733 -workDir "/home/jenkins"Run agent as service
-
-
create a script file
startagent.sh#!/bin/bash JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 WORKDIR=/home/jenkins/scripts APP_OPTIONS=" -jnlpUrl https://192.168.0.119/computer/jenkins.slave/jenkins-agent.jnlp -noCertificateCheck -secret @secret-file -workDir \"/home/jenkins\"" "${JAVA_HOME}/bin/java" -jar agent.jar $APP_OPTIONS -
create the
secret-file$ echo 39694868bc66890cd5eb6c04b0a51692403ab957ceb1d1b258c353a031334733 > secret-file -
test the script
$ chmod +x startagent.sh # start at background $ ./startagent.sh & # make foreground $ fg -
create a service
-
Create the service unit file
jenkinsagent.service[Unit] Description=Jenkins Agent service [Service] SuccessExitStatus=143 User=jenkins Group=sudo WorkingDirectory=/home/jenkins/scripts ExecStart=/home/jenkins/scripts/startagent.sh [Install] WantedBy=multi-user.target -
copy the service unit file to system
/etc/systemd/system
$ sudo cp ./jenkinsagent.service /etc/systemd/system/jenkinsagent.service # reload unit files $ sudo systemctl daemon-reload # enable the service (after tested ok). service will start upon every PC restart $ sudo systemctl enable jenkinsagent.service Created symlink /etc/systemd/system/multi-user.target.wants/jenkinsagent.service -> /etc/systemd/system/jenkinsagent.service. # start the service $ sudo systemctl start jenkinsagent.service # check status o service $ sudo systemctl status jenkinsagent.service # stop the service $ sudo systemctl stop jenkinsagent.service -