最新,最全,Linux 一键安装docker,发布spring boot,vue 项目至远程服务器

最新,最全,Linux 一键安装docker,发布spring boot,vue 项目至远程服务器

技术杂谈小彩虹2021-07-08 13:23:1670A+A-

安装docker

更新yum

yum update

安装

yum -y install docker

启动并加入开机启动

sudo systemctl start docker sudo systemctl enable docker

查看docker服务状态

systemctl status docker

docker安装jenkins容器

安装jenkins 可以去这里获取你需要的版本:https://hub.docker.com/_/jenkins?tab=tags

```docker pull jenkins/jenkins:lts```
==下载完成后可以使用:docker images 查询已下载好的jenkins镜像==
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200615175326278.png)

如果下载速度很慢,可以设置docker 加速镜像

	<1>编辑 vi /etc/docker/daemon.json
	<2>设置加速镜像  	{"registry-mirrors": ["http://hub-mirror.c.163.com"]}
	<3>重启docker  sudo systemctl restart docker
			如果重启失败报错: Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
	<4>删除该文件下所有内容: 
			cd /var/lib/docker
			rm -rf *
	<5>	重启docker	
	<6> 下载jenkins   docker pull jenkins:2.60.3

创建一个jenkins目录用户挂载容器内部的jenkins

mkdir -p /data/jenkins_home/

需要修改下目录权限,因为当映射本地数据卷时/data/jenkins_home/目录的拥有者为root用户,而容器中jenkins用户的 uid 为 1000。

chown -R 1000:1000 /data/jenkins_home/

创建容器

docker run -d --name jenkins -p 10001:8080 -p 50000:50000 -v /data/jenkins_home:/var/jenkins_home jenkins:2.60.3

-d 标识是让 docker 容器在后台运行
--name 定义一个容器的名字,如果没有指定,那么会自动生成一个随机数字符串当做UUID
-p 8040:8080 端口映射,我本地的8080被占用了,所以随便映射了一个8040
-p 50000:50000 端口映射
-v /data/jenkins_home:/var/jenkins_home 绑定一个数据卷,/data/jenkins_home是刚才创建的本地数据卷

浏览器访问jenkins

http://IP地址:10001

查询Jenkins的初始密码 ==注意这个地址是docker容器中的==

第一种方式(docker容器中):
	docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
第二种方式(本地数据卷中):
	cat /data/jenkins_home/secrets/initialAdminPassword

下载系统推荐的插件即可==耐心等待下载==

在这里插入图片描述

创建项目

插件安装 ==注意:安装插件后需要重启,插件才会生效==

在这里插入图片描述 ==确保以下插件被正确安装: 根据角色管理权限的插件:Role-based Authorization Strategy 远程使用ssh的插件:SSH plugin ssh传输文件到远程服务器: Publish Over SSH 前端vue项目:nodejs ==

配置全局环境 (jdk maven nodejs git )

在这里插入图片描述

==推荐系统自动安装,如果需要发布前端项目时,需要先安装nodejs插件==

配置远程服务器

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

新建任务发布spring boot 项目至远程服务器

创建任务

在这里插入图片描述

配置general ==按照自己的需求进行设置==

在这里插入图片描述

源码管理

在这里插入图片描述

构建配置

==调用顶层Maven目标会将项目进行打包, send files or execute commands over ssh: 将打包好的jar包通过ssh 传输到远程服务器 上 Execute shell script on remote host using ssh: 运行远程服务器shell脚本,停止原服务,启动新服务 == 在这里插入图片描述 在这里插入图片描述

部署spring boot 项目的远程服务器脚本

#!/bin/bash
#服务名称,一般跟项目名称一致
SERVER_NAME=msbjSync.jar
# 源jar路径,mvn打包完成之后,target目录下的jar包名称,也可选择成为war包,war包可移动到Tomcat的webapps目录下运行,这里使用jar包,用java -jar 命令执行
JAR_NAME=msbjSync

JAR_WORK_PATH=/usr/local/service/msbj/sync

echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | grep -v grep | awk '{print $2}'`
echo "得到进程ID:$PID"
echo "结束进程"
for id in $PID
do
        kill -9 $id
        echo "killed $id"
done
echo "结束进程完成"

#复制jar包到执行目录
#echo "复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
#cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
#echo "复制jar包完成"

cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar

#后台运行jar
nohup java -jar  $JAR_NAME.jar  &

#PID=`ps -ef | grep "$SERVER_NAME" | grep -v grep | awk '{print $2}'`
#echo "新的进程ID:$PID"

ps -ef|grep java

echo '执行完了构建'

执行任务

在这里插入图片描述

新建任务发布vue 项目至远程服务器

构建环境

在这里插入图片描述

构建

在这里插入图片描述

点击这里复制本文地址 以上内容由权冠洲的博客整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

联系我们| 本站介绍| 留言建议 | 交换友链 | 域名展示
本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除

权冠洲的博客 © All Rights Reserved.  Copyright quanguanzhou.top All Rights Reserved
苏公网安备 32030302000848号   苏ICP备20033101号-1

联系我们