docker+nginx+Jenkins自动构建

文章目录

  • 前言
  • 一、实操记录
    • 问下AI:
    • jenkins 配置
    • 新增一个mobile
      • git配置
      • Build Triggers
      • Build Environment
      • Build Steps
      • Post-build Actions
    • 上面一顿配置下来,构建 -- ` FAILURE`
  • 总结


前言

在已有docker-Jenkins-nginx 部署方案上,在另外一台测试服务器,新增nginx,实现同个端口下构建 pc(history模式,vue3 ,vite项目), mobile (hash模式,vue3 ,vite项目)前端项目。并且支持git push后jenkins自动构建。


一、实操记录

配置好 docker-compose.yml 文件如下。执行

docker compose up -d 

在这里插入图片描述

问下AI:

当你执行 docker compose up -d 命令时,Docker Compose 会根据 docker-compose.yml 文件中的定义来启动并管理一个或多个服务容器。这个过程大致遵循以下步骤:

  1. 解析 docker-compose.yml 文件:Docker Compose 首先读取 docker-compose.yml 文件,该文件定义了服务、网络和卷等服务依赖关系。如果有多个服务,并且每个服务对应一个单独的 Dockerfile,Docker Compose 会分别处理这些服务。

  2. 构建服务镜像(如果需要):如果在 docker-compose.yml 中的服务定义里指定了 build 属性,并且指向一个包含 Dockerfile 的目录,Docker Compose 会根据 Dockerfile 构建或重建服务镜像。如果存在多个服务且各自有不同的 Dockerfile,Docker Compose 会为每个服务分别执行构建过程。

  3. 网络创建:Docker Compose 会检查 docker-compose.yml 文件中定义的网络,如果网络不存在,它会创建这些网络。服务容器将会被连接到这些网络中。

  4. 卷创建:如果有定义数据卷,Docker Compose 会确保这些卷存在,如果需要的话会创建它们。

  5. 服务启动:在完成上述准备工作后,Docker Compose 开始启动定义在 docker-compose.yml 文件中的服务容器。每个服务都会作为一个独立的容器运行,并按照定义的依赖顺序启动。-d 参数表示以守护进程(后台)模式运行容器,即启动后不会直接输出容器的日志到终端。

  6. 健康检查和重启策略:如果在服务定义中指定了健康检查(healthcheck)和重启策略(restart policy),Docker Compose 会根据这些策略来监控和服务容器的状态,并在必要时采取行动。

  7. 日志输出:虽然使用 -d 参数,Docker Compose 通常不会直接输出容器日志到控制台,但你可以通过 docker logs 命令单独查看各个服务容器的日志。

总结来说,docker compose up -d 是一个综合命令,它负责从构建服务镜像(如果配置了 build)到最终在后台启动并管理整个服务栈的全过程。每个服务根据其Dockerfile来构建,Docker Compose 确保了服务间的协调和依赖关系得以正确处理。

jenkins 配置

修改原有pc端构建配置。这里切换了 ssh server后,相应更改。需要新增一个ssh server,修改完后需要 test configuration 下。
在这里插入图片描述
报错信息


jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH 
connection. Message: [Failed to connect session for config [test-ngnix]. Message [Auth fail for 
methods 'publickey,gssapi-keyex,gssapi-with-mic,password']]

这种情况一般是检查端口没有开放,密码错误之类。多尝试就行。

新增一个mobile

在Jenkins 新增一个mobile 的item,支持copy已有配置功能,修改一下可以快捷配置。
在这里插入图片描述

git配置

在这里插入图片描述

Build Triggers

在这里插入图片描述
在这里插入图片描述
上方配置了token 后需要到 github对应的配置如下。
在这里插入图片描述

在这里插入图片描述
上方 expression是匹配git 分支名 这里是 test 分支。也就是test分支push的才会触发构建。

Build Environment

在这里插入图片描述

Build Steps

在这里插入图片描述

Post-build Actions

在这里插入图片描述
上方的remote directory www/mobile ,按实际情况调整。

上面一顿配置下来,构建 – FAILURE

ERROR: Couldn’t find any revision to build. Verify the repository and branch configuration for this job.
SSH: Current build result is [FAILURE], not going to run.
在这里插入图片描述
原来是忘记构建test分支了。切个test分支后重新构建。ok ~~!


总结

以上就是今天要讲的内容,本文仅仅简单介绍了docker-nginx-jenkins 部署与构建前端项目。

参考:
https://blog.csdn.net/jams0911/article/details/113886593

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【定制化】在Android平台实现自定义的程序启动页

特别说明:以下仅适用于Android平台。 实现原理 创建安卓端自定义的Activity禁用UnityPlayerActivity的启动Logo改用自定义Activity 示例效果 参考简单步骤或详细步骤都可实现。 自定义的启动动画,效果如下: 简单步骤 三步操作实现启动动画…

亚信安全发布《2024年第一季度网络安全威胁报告》

亚信安全2024年第一季度网络安全威胁报告 一季度威胁概览 《亚信安全2024年第一季度网络安全威胁报告》的发布旨在从一个全面的视角解析当前的网络安全威胁环境。此报告通过详尽梳理和总结2024年第一季度的网络攻击威胁,目的是提供一个准确和直观的终端威胁感知。…

Excel 分组汇总后删除明细

有 Excel 数据如下所示: IDCriteria1Criteria2Criteria3Criteria4101210271239312381236123171826182918239182120182147 需要按 ID 分组汇总其余列,结果如下: IDCriteria1Criteria2Criteria3Criteria410121027123932561826939267 解法及简…

yo!这里是socket网络编程相关介绍

目录 前言 基本概念 源ip&&目的ip 源端口号&&目的端口号 udp&&tcp初识 socket编程 网络字节序 socket常见接口 socket bind listen accept connect 地址转换函数 字符串转in_addr in_addr转字符串 套接字读写函数 recvfrom&&a…

线性集合:ArrayList,LinkedList,Vector/Stack

共同点:都是线性集合 ArrayList ArrayList 底层是基于数组实现的,并且实现了动态扩容(当需要添加新元素时,如果 elementData 数组已满,则会自动扩容,新的容量将是原来的 1.5 倍),来…

STK与matlab交互 Astrogator模块(14)

一、背景介绍 高轨卫星的轨道保持。与任何其它轨道状态一样,地球同步轨道也会受到各种扰动力的影响,这些摄动力会影响GEO卫星在位置方面的稳定性。摄动的主要来源是地球的非地球位势、太阳辐射压力和第三体效应(主要是月球和太阳&#xff09…

特产销售|基于Springboot+vue的藏区特产销售平台(源码+数据库+文档)​

目录 基于Springbootvue的藏区特产销售平台 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道…

JavaScript 防抖与节流——以游戏智慧解锁实战奥秘

🔥 个人主页:空白诗 文章目录 🎮 引言❓ 什么是防抖和节流🏹 防抖(Debounce) - 锁定追击,精确无误📌 基础概念📌 适用场景📌 实战代码:防抖 应用于输入框的实时搜索 &…

【Python-爬虫】

Python-爬虫 ■ 爬虫分类■ 1. 通用网络爬虫:(搜索引擎使用,遵守robots协议)■ robots协议(君子协议) ■ 2. 聚集网络爬虫:自己写的爬虫程序 ■ urllib.request(要导入的模块&#x…

带有-i选项的sed命令在Linux上执行成功,但在MacOS上失败了

问题: 我已经成功地使用以下 sed 命令在Linux中搜索/替换文本: sed -i s/old_string/new_string/g /path/to/file然而,当我在Mac OS X上尝试时,我得到: command i expects \ followed by text我以为我的Mac运行的是…

高效文件管理:一键提取文件名关键字,快速创建对应文件夹

在数字化时代,文件管理成为我们日常工作中不可或缺的一部分。随着文件数量的不断增加,如何高效、有序地管理这些文件成为了许多人的挑战。传统的文件管理方法,如手动创建文件夹和分类文件,不仅耗时耗力,而且容易出错。…

使用html和css实现个人简历表单的制作

根据下列要求,做出下图所示的个人简历(表单) 表单要求 Ⅰ、表格整体的边框为1像素,单元格间距为0,表格中前六列列宽均为100像素,第七列 为200像素,表格整体在页面上居中显示; Ⅱ、前…

多功能投票小程序基于ThinkPHP+FastAdmin+Uniapp(源码搭建/上线/运营/售后/维护更新)

基于ThinkPHPFastAdminUniapp开发的多功能系统,支持图文投票、自定义选手报名内容、自定义主题色、礼物功能(高级授权)、弹幕功能(高级授权)、会员发布、支持数据库私有化部署,Uniapp提供全部无加密源码。 功能特性

Vue-watch监听器

监听器 watch侦听器(监视器)简单写法完整写法 watch侦听器(监视器) 作用:监视数据变化,执行一些业务逻辑或异步操作 语法: watch同样声明在跟data同级的配置项中简单写法: 简单类型…

ios 开发如何给项目安装第三方库,以websocket库 SocketRocket 为例

1.brew 安装 cococapods $ brew install cocoapods 2、找到xcode项目 的根目录,如图,在根目录下创建Podfile 文件 3、在Podfile文件中写入 platform :ios, 13.0 use_frameworks! target chat_app do pod SocketRocket end project ../chat_app.x…

攻防世界-web-fileinclude

题目 解题 原题代码 <html> <head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /></head><b>Notice</b>: Undefined index: language in <b>/var/www/html/index.php</b> on lin…

【硬件模块】ESP-01SWiFi模块基于AT指令详解(WiFi,TCP/IP,MQTT)

ESP-01S ESP-01S是由安信可科技开发的一款Wi-Fi模块。其核心处理器是ESP8266&#xff0c;该处理器在较小尺寸的封装中集成了业界领先的Tensilica L106超低功耗32位微型MCU&#xff0c;带有16位精简模式&#xff0c;主频支持80MHz和160MHz&#xff0c;并集成了Wi-Fi MAC/BB/RF/P…

windows@注册表介绍@注册表的查看和编辑操作

文章目录 abstractrefs注册表的主要组件包括根键极其缩写名称&#x1f47a;子键特性 查看注册表&#x1f47a;使用powershell查看路径下的子路径声明概念Get-ChildItem查看注册表路径下的项Set-Location进入注册表路径举例说明查看文件系统某个路径下的项查看某个注册表路径的项…

笨方法自学python(二)-注释

注释和#号 程序里的注释是很重要的。它们可以用自然语言告诉你某段代码的功能是什么。在你想要临时移除一段代码时&#xff0c;你还可以用注解的方式将这段代码临时禁用。 # A comment, this is so you can read your program later. # Anything after the # is ignored by py…

Ubuntu磁盘剩余空间不足,空间异常

近日发现用了3年的Ubuntu系统笔记本磁盘空间极度告急&#xff0c;上网搜了一下都是讲解如何扩容、如何重新挂载空间&#xff0c;但是博主发现/home目录明明分配了200G的空间&#xff0c;但是只剩下6G可用&#xff0c;查询所有的文件夹发现&#xff0c;所有文件加起来已使用50G左…