主从多机matlab代码,Jenkins的Master Slave主从进行多机多环境部署-配置

当我们写好一个程序以后,需要在多台机器上进行部署操作,如果我们使用每台机器独立部署的话,就很耗时间,这个时候我们可以利用Jenkins的主从机制来进行部署操作。

首先看个图,大概理解一下Master Slave模式的可以应用的场景

jenkins-slave.jpeg

1.首先,安装Jenkins Master,这个可以参考上一篇文章

2.安装成功之后,接下来就是配置Slave Node

打开Jenkins->Manage Jenkis->Manage Nodes

点击New Node,创建一个新的Slave节点

jenkins1-1024x561.png

填写好相关参数信息

jenkins2-1024x792.png

保存成功以后,在列表中点击Node的名称,然后会看到如下信息,点击agent.jar进行文件下载并保存。

jenkins3.png

接下来,使用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中的节点列表中点击节点名称,详细信息中就可以看到,已连接

jenkins4.png

至此,我们已经成功将Master和Salve建立了连接。接下来,的一篇文章将介绍如何使用我们建立好的Master-Slave模式来部署Java的Springboot应用。

大家加油!

以下是参考文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值