Docker 自动化部署(保姆级教程)

Docker 自动化部署

  • 1. jenkins 介绍
    • 1.1 参考链接:
    • 1.2 jenkins 概述
    • 1.3 jenkins部署项目的流程
  • 2. jenkins 安装
    • 2.1 基于docker 镜像
    • 2.2 启动 jenkins 后端服务
    • 2.3 登录 jenkins 服务后端
  • 3. jenkins自动化部署开始
    • 3.1 下载需要的插件
    • 3.2 创建任务
      • 3.2.1 描述
      • 3.2.2 配置远程仓库地址链接(从远程仓库拉代码)
      • 3.2.3 配置构建触发器
      • 3.2.4 配置全局node环境
      • 3.2.5 在项目配置中配置 构建环境
      • 3.2.6 配置 build steps (打包)
    • 3.3 系统配置
    • 3.4 构建后操作(将打包后的代码推到服务器上)
    • 3.5 docker启动项目容器
  • 4 演示自动化效果

1. jenkins 介绍

1.1 参考链接:

jenkins介绍

jenkins部署Vue项目

docker安装Jenkins

1.2 jenkins 概述

Jenkins:是一个开源的、提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建的一些定时执行的任务。Jenkins用Java语言编写,可在Tomcat等流行的容器中运行,也可独立运行。

1.3 jenkins部署项目的流程

开发的步骤:

  1. 开发者会将代码上传到版本库中。
  2. jenkins通过配置版本库的连接地址,获取到源代码。
  3. jenkins获取到源代码之后通过参数化构建(或者触发器)开始编译打包。
  4. jenkins通过调用maven(Ant或者Gradle)命令实现编译打包过程。
  5. 生成的war包通过ssh插件上传到远程tomcat服务器中通过shell脚本自动发布项目。

在这里插入图片描述

2. jenkins 安装

2.1 基于docker 镜像

服务:jenkins/jenkins 、 jenkins/blueocean
我们采用 docker pull jenkins/jenkins

2.2 启动 jenkins 后端服务

docker run -id -u root --name my_jenkins -p 8085:8080  -p 50000:50000 jenkins/jenkins
# -u root  root用户权限去启动系统
# -p 8085:8080  端口映射
# --name my_jenkins #容器的名字

8085 防火墙需要开启:
在这里插入图片描述

2.3 登录 jenkins 服务后端

2.3.1 访问 8085 服务进入jenkins后端:
在这里插入图片描述
2.3.2 进入容器:

docker exec -it my_jenkins bash  

示例:
在这里插入图片描述

2.3.3 在jenkins容器内部进行获取密码:

cat /var/jenkins_home/secrets/initialAdminPassword

示例:
在这里插入图片描述

将密码填入jenkins服务即可登录成功。

2.3.4 选择推荐安装的插件:

没有安装成功也没有问题,后续更新即可

在这里插入图片描述
等待:
在这里插入图片描述
2.3.5 登录 jenkins
没有账号的可以在这里创建登录
在这里插入图片描述
因为我有帐号了,就选择使用admin账号登录
这便来到了jenkins后台首页
在这里插入图片描述

3. jenkins自动化部署开始

3.1 下载需要的插件

  • Nodejs
  • Git
  • Gitee
  • Publish Over SSH
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.2 创建任务

在这里插入图片描述
在这里插入图片描述
跳转到项目配置页面

3.2.1 描述

在这里插入图片描述

3.2.2 配置远程仓库地址链接(从远程仓库拉代码)

第一个空是需要填写远程地址链接

在这里插入图片描述

第二个填写用户,如果没有用户点击下面添加用户

在这里插入图片描述
目前该项目的工作空间什么都没有:
在这里插入图片描述
我们点击立即构建:
在这里插入图片描述

3.2.3 配置构建触发器

在这里插入图片描述
gitee中配置webHooks:
在这里插入图片描述
这里填写的url是:
在这里插入图片描述
密码是:
在这里插入图片描述

3.2.4 配置全局node环境

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我选择14的node版本(16和18不建议)
在这里插入图片描述

3.2.5 在项目配置中配置 构建环境

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

3.2.6 配置 build steps (打包)

在这里插入图片描述
在控制台输入打包命令:
在这里插入图片描述
即可实现打包工作
在这里插入图片描述

3.3 系统配置

在这里插入图片描述
在这里插入图片描述
Publish Over SSH 在最下面
新增服务
在这里插入图片描述

参数说明:
第一个参数:名称 最好不好用中文
第二个参数:服务器公网ip
第三个参数:用户
第四个参数:打包上传目录

在高级里面添加服务器密码
在这里插入图片描述

3.4 构建后操作(将打包后的代码推到服务器上)

在这里插入图片描述
在这里插入图片描述
此时,服务器该位置已经出现了打包后的dist:
在这里插入图片描述

3.5 docker启动项目容器

docker run --name jenkinsProject -p 9001:80 -v 
/home/www/frontProject/jenkinsProject/dist:/usr/share/nginx/html -v 
/home/www/nginxConf/nginx.conf:/etc/nginx/nginx.conf -v 
/home/www/nginxConf/conf.d:/etc/nginx/conf.d --restart=always -d nginx:latest

最后成功上线
在这里插入图片描述

4 演示自动化效果

docker自动化部署

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/87922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用bash脚本编译Qt工程

最近在搭建Qt工程的编译服务器,需要通过shell脚本执行工程的编译过程,写在这里,总结最近的工作。 1. 构建过程 以Windows为例,在QtCreator中左侧选择“项目”便可以看到编译的指令和参数,这些操作也会在我们点击“构建…

git管理常用命令

1、下载代码 git clone 地址2、软件代码提交 1、查看工程中被修改的文件&#xff1a;git status 2.将不需要提交的文件回退&#xff1a;git check <文件路径> 3.更新工程到最新&#xff1a;git pull 4.将本地代码添加到暂存区&#xff1a;git add <将要提交的文件路…

CAN总线数据链路层

CAN报文帧种类: 数据帧:用于发送节点向接收节点传送数据,是使用最多的帧类型远程帧:用于接收节点向某个发送节点请求数据错误帧:用于当某节点检测出错误时向其他节点通知错误的帧过载帧:用于接收节点向发送节点通知自身接收能力的帧帧间隔:将数据帧或远程帧与前面的帧分…

MySQL学习笔记14

MySQL查询之多表查询&#xff1a;&#xff08;了解&#xff09;但是还是要掌握比较好。 1、什么是多表查询&#xff1f; 查询五子句是单表查询&#xff0c;实际工作中&#xff0c;也可能会接触到一个复杂的多表查询。 2、Union 联合查询&#xff1a; union联合查询的作用&…

ElementUI之首页导航与左侧菜单

目录 一、Mock 1.1 什么是Mock.js 1.2 安装与配置 1.2.1 安装mock.js 1.2.2 引入mock.js 1.3 mock.js使用 1.3.1 定义测试数据文件 1.3.2 mock拦截Ajax请求 1.3.3 界面代码优化 二、总线 2.1 定义 2.2 类型分类 2.3 前期准备 2.4 配置组件与路由关系 2.4.1 配置…

Java8实战-总结35

Java8实战-总结35 重构、测试和调试使用 Lambda 重构面向对象的设计模式工厂模式 测试 Lambda 表达式测试可见 Lambda 函数的行为测试使用 Lambda 的方法的行为将复杂的 Lambda 表达式分到不同的方法高阶函数的测试 重构、测试和调试 使用 Lambda 重构面向对象的设计模式 工厂…

JSON数据获取指南!

在互联网时代&#xff0c;数据是金钱的来源。然而&#xff0c;要从海量的网页中提取需要的数据并不容易。本文将带你了解如何使用Node.js编写简易爬虫程序&#xff0c;帮助你轻松获取并处理JSON数据&#xff0c;让你不再为数据发愁。 一、准备工作 安装Node.js&#xff1a;确保…

如何在控制台打印sql语句

步骤一&#xff1a; log4j2.xml中做以下配置 <logger name"xxx.infrastructure.mysql.mapper"level"debug" additivity"false"><appender-ref ref"Console"/></logger>步骤二&#xff1a;IDEA下载Free Mybatis Plu…

9、JavaSE总结

9、JavaSE总结 9.1 Java语言 9.1.1 MarkDown语法 9.1.2 简单的Dos命令 9.1.3计算机语言发展 9.1.4 Java的诞生 1995年诞生&#xff1a;JavaSE、JavaME、JavaEE 2006年Hadoop大数据系列 9.1.5 JDK、JRE JDK&#xff1a;开发者工具包、配置环境变量&#xff08;配置Java…

Vue Mock.js介绍和使用与首页导航栏左侧菜单搭建

前言&#xff1a; 因为使用Vue开发&#xff0c;组件写的太多&#xff0c;组件与组件之间的传递数据复杂&#xff0c;所以要用到Mock和Bus事件 一&#xff0c;关于Mock 1.1.什么是Mock.js Mock.js是一个模拟数据的生成器&#xff0c;用来帮助前端调试开发、进行前后端的原型分离…

upload-labs靶场未知后缀名解析漏洞

upload-labs靶场未知后缀名解析漏洞 版本影响&#xff1a; phpstudy 版本&#xff1a;5.2.17 ​ 1 环境搭建 1.1 在线靶场下载&#xff0c;解压到phpstudy的www目录下&#xff0c;即可使用 https://github.com/c0ny1/upload-labs1.2 已启动&#xff1a;访问端口9000&…

似然和概率

前言 高斯在处理正态分布的首次提出似然&#xff0c;后来英国物理学家&#xff0c;费歇尔 概率是抛硬币之前&#xff0c;根据环境推断概率 似然则相反&#xff0c;根据结果推论环境 P是关于x的函数&#xff0c;比如x为正面朝上的结果&#xff0c;或者反面朝上的结果&#xf…

数据大爆炸:大数据分析如何改变我们的世界

文章目录 大数据分析的基本概念数据的三个V大数据分析的技术 大数据分析在商业中的应用1. 个性化营销2. 风险管理3. 供应链优化4. 客户服务 大数据分析在医疗保健中的应用1. 疾病预测2. 患者治疗3. 医疗设备监控 大数据分析在科学研究中的应用1. 天文学2. 生物学3. 气象学 大数…

如何搭建自己的gitlab服务器

这里使用Termus工具连接服务器&#xff0c;然后根据步骤走即可&#xff01; 安装 1.配置yum源安装gitlab vim /etc/yum.repos.d/gitlab-ce.repo修改或新增下面配置并保存 [gitlab-ce] nameGitlab CE Repository baseurlhttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum…

pycharm中配置torch

在控制台cmd中安装好torch后&#xff0c;在pycharm中使用torch&#xff0c;需要进行简单设置即可。 在pycharm中新建一个工程&#xff0c;在file文件中打开setting 在setting中找到project interpreter编译器 找到conda environment的环境配置&#xff0c;设置好相应的目录 新…

2023年蓝帽杯取证复现

案件介绍 2021 年 5 月&#xff0c;公安机关侦破了一起投资理财诈骗类案件&#xff0c;受害人陈昊民向公安机关报案称其在微信上认识一名昵称 为 yang88 的网友&#xff0c;在其诱导下通过一款名为维斯塔斯的 APP &#xff0c;进行投资理财&#xff0c;被诈骗 6 万余万元。接警…

华为OD机考算法题:篮球比赛

目录 题目部分 解读与分析 代码实现 题目部分 题目篮球比赛难度难题目说明篮球(5V5)比赛中&#xff0c;每个球员拥有一个战斗力&#xff0c;每个队伍的所有球员战斗力之和为该队伍的总体战斗力。现有 10 个球员准备分为两队进行训练赛&#xff0c;教练希望 2 个队伍的战斗力…

如何搭建VUE项目开发环境?

搭建Vue.js项目的开发环境通常包括以下主要步骤&#xff1a; 1、安装Node.js和npm&#xff1a; Vue.js项目需要Node.js和npm&#xff08;Node Package Manager&#xff09;作为基础环境。你可以从Node.js官网下载并安装它们&#xff1a;Node.js官网 安装完成后&#xff0c;你…

Java深入理解线程的三大特性

目录 1 CPU缓存导致可见性问题2 线程切换导致原子性问题3 性能优化导致有序性问题4 JMM(Java Memory Model)5 volatile6 synchronized 1 CPU缓存导致可见性问题 线程的三大特性&#xff1a; 可见性&#xff1a;Visibility有序性&#xff1a;Ordering原子性&#xff1a;Atomic…

谈谈最近招人的感受!

最近折腾新的项目&#xff0c;面试了很多实习生小伙伴&#xff0c;我说说我的一些「面试」感受&#xff0c; 虽然是一个老生常谈的话题&#xff0c;但是依然提一下。 准时很重要&#xff1a;提前一点时间&#xff0c;踩个点&#xff0c;别迟到&#xff0c;面试的过程中由于每个…