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

完整多端口 Nginx Docker部署 + GitLab Runner注册及标签使用指南

一、准备工作

1,已安装 Docker 和 GitLab Runner

2,GitLab 服务正常运行,拿到注册 Token

3,注册 Runner

执行:

sudo gitlab-runner register \--url "http://你的GitLab地址:端口" \--registration-token "你的注册token"

4,查看配置文件

/etc/gitlab-runner/config.toml

会看到如下:

5、GitLab CI/CD 配置示例(.gitlab-ci.yml)

before_script:- npm config set registry https://registry.npmmirror.comstages:- build- deploybuild-job:stage: buildtags:- deployscript:- npm install- npm run build:prod- docker build -t cantian:latest .deploy-job:stage: deploytags:- deploy-81//主要改这里的script:- docker stop cantian || true- docker rm cantian || true- docker run -d --name cantian -p 81:80 cantian:latest//映射81并启动这个镜像

6、GitLab 配置示例(.nginx.conf)

server {listen 80;# gzip configgzip on;gzip_min_length 1k;gzip_comp_level 9;gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;gzip_vary on;gzip_disable "MSIE [1-6]\.";root /usr/share/nginx/html;include /etc/nginx/mime.types;location / {try_files $uri /index.html;# 测试}
}

注意*

这里的   listen 80;一定要是80所有的地方都是80只要.gitlab-ci.yml里面是docker run -d --name cantian -p 81:80 cantian:latest//映射81并启动这个镜像就自己回映射到81

7、GitLab 配置示例(Dockerfile)

FROM nginxCOPY ./docker/nginx.conf /etc/nginx/conf.d/default.confCOPY ./dist /usr/share/nginx/html/EXPOSE 80CMD ["nginx", "-g", "daemon off;"]

7、触发 CI 流程

git commit -m "配置cicd"

git push

8、常用命令(服务器上查看状态)

查看 Runner 状态:

sudo gitlab-runner status

查看正在运行的容器:

docker ps

查看容器日志:

docker logs cantian

停止并删除容器:

docker stop cantian
docker rm cantian

查看镜像:

docker images

这样,你就可以完全实现:

  • 不需要在服务器上手动构建镜像

  • 代码推送自动构建并部署

  • 通过端口映射访问服务

http://www.xdnf.cn/news/1286011.html

相关文章:

  • 使用 NetBird 创建安全的私有网络,简化远程连接!
  • 【论文阅读】从表面肌电信号中提取神经信息用于上肢假肢控制:新兴途径与挑战
  • 终端安全检测和防御技术总结
  • Java数据结构之ArrayList
  • [激光原理与应用-256]:理论 - 几何光学 - CMOS与CCD传感器成像原理比较
  • 卫生间装修防水怎么做合适?
  • 激光干涉法在碳化硅衬底 TTV 厚度测量中的精度提升策略
  • 高性能web服务器Tomcat
  • Vue 3 + Elementui + TypeScript 实现左侧菜单定位右侧内容
  • 石英加速度计如何实现高精度测量?
  • 深度贴:前端网络基础及进阶(3)
  • 鲲鹏arm服务器安装neo4j社区版,实现图书库自然语言检索基础
  • 地图可视化实践录:显示地理区域图
  • 自然语言处理关键库解析和使用方法- FuzzyWuzzy
  • 虚拟机一站式部署Claude Code 可视化UI界面
  • 豆包 + 蘑兔 AI:你的创作搭子
  • 运维学习Day22——Anisible自动化与基本使用
  • Kafka的一条消息的写入和读取过程原理介绍
  • kafka 消费者组的概念是什么?它是如何实现消息的点对点和发布/订阅模式?
  • PO、BO、VO、DTO、POJO、DAO、DO基本概念
  • 开源!!! htop移植到OpenHarmony
  • 【网络运维】Linux和自动化: Ansible基础实践
  • ncurses 6.5 交叉编译移植到OpenHarmomy
  • 【软考中级网络工程师】知识点之 IP QoS 技术
  • 小红书笔记信息获取_实在智能RPA源码解读
  • 【Redis优化深度剖析:如何通过读写分离提升系统性能】
  • 【限时分享:Hadoop+Spark+Vue技术栈电信客服数据分析系统完整实现方案
  • Rocky Linux 10 部署 Kafka 集群
  • Bevy渲染引擎核心技术深度解析:架构、体积雾与Meshlet渲染
  • AI-调查研究-49-大数据调研报告 发展历程:从概念诞生到多元化生态1997-2025