当前位置: 首页 > news >正文

docker gitlab jenkins 部署

一、下载 docker desktop 客户端

下载地址:https://docs.docker.com/desktop/setup/install/windows-install/

二、配置国内镜像:

三、验证:

四、下载软件:

4.1 下载 nginx 并启动。

docker run -d --name my-nginx -p 8081:80 nginx

4.2 下载 gitlab 并启动。

docker run -d --name my-gitlab -p 8929:80 -p 8922:22 -v gitlab-data:/var/opt/gitlab -v gitlab-logs:/var/log/gitlab -v gitlab-config:/etc/gitlab --restart unless-stopped --shm-size 256m gitlab/gitlab-ce:latest

4.3 下载 jenkins 并启动。

docker run -d --name my-jenkins -p 8082:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -u root --restart unless-stopped jenkins/jenkins:lts

4.4 jenkins 安装 gitlab 插件。

4.4 创建构建任务。

五、构建脚本:

5.1 前端代码增加 Dockerfile 文件。

# 第一阶段:构建 Vue 项目
FROM node:18-alpine AS builderWORKDIR /app# 复制 package 文件
COPY package*.json ./# 安装依赖
RUN npm install --registry=https://registry.npmmirror.com# 复制源码
COPY . .# 构建项目
RUN npm run build# 第二阶段:部署到 Nginx
FROM nginx:alpine# 删除默认配置
RUN rm -rf /usr/share/nginx/html/*# 复制构建产物
COPY --from=builder /app/dist /usr/share/nginx/html# 调试:强制重新执行,查看当前目录所有文件
RUN echo "=== BUILD CONTEXT FILES ===" && ls -la# 调试:列出当前上下文所有文件
RUN ls -la# 复制 Nginx 配置(可选,解决 Vue Router history 模式刷新 404)
COPY nginx.conf /etc/nginx/conf.d/default.conf# 暴露端口
EXPOSE 8081# 启动 Nginx
CMD ["nginx", "-g", "daemon off;"]

5.2 jenkins 中增加构建配置。

http://www.dtcms.com/a/390808.html

相关文章:

  • 【数据结构】堆的概念
  • STL 简介:C++ 标准库的 “瑞士军刀”
  • 数据结构 静态链表的实现(算法篇)
  • [新启航]燃料喷射孔孔深光学 3D 轮廓测量 - 激光频率梳 3D 轮廓技术
  • Python 数据分析详解(第一期):环境搭建与核心库基础
  • 云手机中混合架构具体是什么?
  • 设计模式-桥接模式详解
  • Web 抓包全指南 Web抓包工具、浏览器抓包方法、HTTPS 解密
  • 在Prompt IDE中编写提示词时,如何确保提示词的质量和效果?
  • OpenCV :基于 Lucas-Kanade 算法的视频光流估计实现
  • PyQt6之容器布局
  • Linux网络:HTTPS协议
  • 【Linux】进程概念(三):深入剖析操作系统学科的进程状态理论体系与 Linux 系统下的浅度睡眠、深度睡眠、停止、僵尸、死亡等具体进程状态
  • java面试Day2 | mysql优化、索引、事务、并发事务、MVCC、主从同步、分库分表
  • 怎么用文字生成视频:从本土到海外的软件工具选择指南
  • Git远程与本地仓库关联指南(含推送冲突解决方案)
  • uniapp u-popup弹窗展示时禁止底部内容滚动,禁止滑动遮罩层滚动
  • 赛灵思 XCVU13P-2FIGD2104E XilinxFPGA VirtexUltraScale+
  • 基于非线性MPC的自动驾驶路径跟踪与避障控制器设计(Matlab实现)
  • 使用云手机进行烈火一刀挂机多开的优势
  • 造成云手机黑屏的原因有哪些?
  • 智能电视玩机攻略_开启设备隐藏ADB 自由安装第三方应用
  • 微服务项目->在线oj系统(Java-Spring)----2.0
  • Swift闭包使用详情
  • STM32,新手学习
  • 保险丝Fuse
  • Kafka的持久化及副本机制总结
  • c() 函数在 R 中的用途详解
  • 使用Rsync+sersync实现数据实时同步
  • 关于conda forge长时间solving的问题以及如何解决