docker+nginx+Jenkins自动构建

文章目录

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

前言

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


一、实操记录

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

bash 复制代码
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

相关推荐
川石课堂软件测试24 分钟前
性能测试|Nginx中间件监控与调优
linux·python·nginx·中间件·单元测试·压力测试·harmonyos
m0_7408596210 小时前
Nginx进行配置文件拆分(以windows解压版为例)
nginx
开发小程序的之朴12 小时前
认识安企CMS-安装安企CMS的环境要求
nginx·golang·系统架构
程序员老油条14 小时前
WSL2 + Docker Desktop:Windows 下的完美 Java 开发环境
java·windows·docker·wsl2
大侠锅锅16 小时前
第 4 篇:策略模式实践——用统一接口管理 Docker 容器、原生进程与 K3s Pod
docker·容器·边缘计算·策略模式·iot
小蓝波18 小时前
docker 的命令
java·docker·容器
考虑考虑19 小时前
nginx配置ssl
运维·后端·nginx
2301_8011847520 小时前
docker 工作
java·docker·容器
至乐活着21 小时前
ELK日志系统从零搭建到实战:Nginx日志采集与可视化全攻略
nginx·elk·elasticsearch·docker·日志系统
想你依然心痛1 天前
AtomCode 在 DevOps 场景中的实战:CI/CD 流水线脚本自动生成
运维·ci/cd·docker·devops·自动化部署·github actions