2020最新最全 Linux安装docker,使用jenkins实现自动发布spring boot,vue项目至远程服务器

安装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 项目至远程服务器

构建环境

在这里插入图片描述

构建

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值