主从多机matlab代码,Jenkins的Master Slave主从进行多机多环境部署-配置
當我們寫好一個程序以后,需要在多臺機器上進行部署操作,如果我們使用每臺機器獨立部署的話,就很耗時間,這個時候我們可以利用Jenkins的主從機制來進行部署操作。
首先看個圖,大概理解一下Master Slave模式的可以應用的場景
1.首先,安裝Jenkins Master,這個可以參考上一篇文章
2.安裝成功之后,接下來就是配置Slave Node
打開Jenkins->Manage Jenkis->Manage Nodes
點擊New Node,創建一個新的Slave節點
填寫好相關參數信息
保存成功以后,在列表中點擊Node的名稱,然后會看到如下信息,點擊agent.jar進行文件下載并保存。
接下來,使用root并ssh登錄到slave的機器,如圖中192.168.10.101。創建/jenkins/jenkins-slave這個目錄,并將agent.jar復制到這個目錄中。
mkdir /jenkins/jenkins-slave
chmod -R 777 /jenkins/jenkins-slave
cd /jenkins/jenkins-slave
# 將agent.jar復制到該目錄下
創建文件/etc/init.d/jenkins-slave并修改并復制以下代碼到該文件中
vi /etc/init.d/jenkins-slave
#!/bin/bash
#
# /etc/init.d/jenkins-slave
#
# To add the script to autostart call =>
# sudo update-rc.d jenkins-slave defaults
#
# To remove the script from autostart call =>
# sudo update-rc.d -f jenkins-slave remove
#
### BEGIN INIT INFO
# Provides: jenkins-slave
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $local_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts jenkins-slave
# Description: Starts jenkins-slave
### END INIT INFO
Name="192.168.10.101"
InstanceName="192.168.10.101"
JenkinsUrl="http://jenkins-master-ip:8080"
SlaveWorkspace="/weixing/jenkins"
# 啟動slave的日志文件,啟動的時候可以查看,是否有報錯
Log="/var/log/jenkins"
Pidfile="/var/run/jenkins-slave.pid"
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
# 在下載agent.jar的地方下面的命令里面有這個key
SecretKey="xxxxxxxxxxxxxxxxxxxxxxxx"
case "$1" in
start)
touch $Log
# chown shopbuilduser.root $Log
echo "Starting $Name">>$Log
"$JAVA_HOME/bin/java" -jar $SlaveWorkspace/agent.jar -jnlpUrl $JenkinsUrl/computer/$InstanceName/slave-agent.jnlp -secret $SecretKey 2>>$Log >>$Log &
Pid=$!
if [ -z $Pid ]; then
printf "%s\n" "Fail"
else
echo $Pid > $Pidfile
printf "%s\n" "Ok"
fi
;;
stop)
printf "%-50s" "Stopping $Name"
Pid=`cat $Pidfile`
if [ -f $Pidfile ]; then
kill -TERM $Pid
printf "%s\n" "Ok"
rm -f $Pidfile
else
printf "%s\n" "pidfile not found"
fi
;;
restart)
$0 stop
$0 start
;;
status)
printf "%-50s" "Checking $Name..."
if [ -f $Pidfile ]; then
Pid=`cat $Pidfile`
if [ -z "`ps axf | grep ${Pid} | grep -v grep`" ]; then
printf "%s\n" "Process dead but pidfile exists"
echo "Pidfile: $Pidfile"
else
echo "Running"
echo "Pid: $Pid"
echo "Pidfile: $Pidfile"
fi
else
printf "%s\n" "Service not running"
fi
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
現在可以啟動jenkins-slave了
sudo chmod 755 /etc/init.d/jenkins-slave
sudo chown root:root /etc/init.d/jenkins-slave
/etc/init.d/jenkins-slave start
添加開機啟動命令
vi /etc/rc.local
# 在exit前面增加一行這個命令: sh /etc/init.d/jenkins-slave start
Jenkins Slave的其他的一些命令
# 啟動Slave
/etc/init.d/jenkins-slave start
# 停止Slave
/etc/init.d/jenkins-slave stop
# 重啟Slave
/etc/init.d/jenkins-slave restart
啟動成功以后,如果以上步驟都沒有問題,并且日志也沒有報錯。在master中的節點列表中點擊節點名稱,詳細信息中就可以看到,已連接
至此,我們已經成功將Master和Salve建立了連接。接下來,的一篇文章將介紹如何使用我們建立好的Master-Slave模式來部署Java的Springboot應用。
大家加油!
以下是參考文章:
總結
以上是生活随笔為你收集整理的主从多机matlab代码,Jenkins的Master Slave主从进行多机多环境部署-配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java数据库篇6——多表查询
- 下一篇: 十大经典排序算法动画与解析(配代码完全版