25、SSH远程部署到另一台机器
因为不是每一台服务器都有jenkins的,一般都是一台jenkins,部署很多机器
1、安装插件
Publish Over SSH
2、配置另一台机器
sh
# 生成秘钥
ssh-keygen -t dsa
# 把公钥复制到要访问的机器
ssh-copy-id root@目标机器的ip
# 第一次要输入目标机器的密码
3、操作另一台机器
新建任务xx-springboot-ssh
4、远程连接
sh
# 省略一些制作镜像的步骤 直接拉取镜像
# 远程服务器地址
REMOTE_SERVER=root@xx.xx.163
ssh $REMOTE_SERVER "ls"

5、远程连接失败的坑
由于Jenkins安装会自动创建一个jenkins
用户,但是这个jenkins
用户中还没有秘钥,所以我们要切换成jenkins
用户生成一下
我们使用 su
切换用户
sh
su jenkins

发现切不了(又来一坑)
我们先查看 /etc/passwd
文件
sh
more /etc/passwd | grep jenkins
sh
# /bin/false 说明是不能登录的
可以使用su -s /bin/bash - jenkins
sh
su -s /bin/bash - jenkins
sh
ssh-keygen -t dsa
ssh-copy-id root@目标机器ip
6、再构建一次

已经能看到目标机器的文件
7、目标机器拉取镜像部署
sh
# 省略一些制作镜像的步骤 直接拉取镜像
# 远程服务器地址
REMOTE_SERVER=root@xx.xx.163
ssh $REMOTE_SERVER <<EOF
echo "当前目录:"
pwd
echo "拉取镜像:"
docker pull registry.cn-hangzhou.aliyuncs.com/xx_blog/maven:3-alpine
EOF
# 后面正常写启动容器的命令即可