Jenkins: 配合docker来部署项目

jenkins + docker 部署

1 )测试将jenkins构建后的项目部署到docker的nginx镜像中

  • nginx 镜像内的默认目录在 /usr/share/nginx/html
  • 将待部署项目存放在 /usr/share/nginx/html/项目名称目录
  • 在Mac环境下的 jenkins系统 中,工程项目默认的路径在 ~/.jenkins/workspace/项目名称目录
  • 这样,使用 docker 来挂载运行前端工程项目到nginx,则可以这样
  • $ docker run -d -p 9001:80 -v ~/.jenkins/workspace/项目名称目录/dist:/usr/share/nginx/html/项目名称目录 --name 项目名称_nginx nginx
  • 通过以上测试,可以正常运行

2 )自动化发布实现

  • 基于以上测试的示例,这时候就变得很简单了

  • 在 jenkins 的 工程项目目录中,点击左侧配置, 进入 Build Steps

  • 注意:

    • 之前有一个 ssh 的功能,如果用了 docker 发布, 目前就不需要 ssh 了
    • 当然,如果是远程发布,这个 ssh 的功能还需要保留
  • 执行脚本中,执行 shell 中修改

    shell 复制代码
    echo $WORKSPACE
    cd $WORKSPACE
    npm install
    npm run build
    docker restart 项目名称_nginx
  • 代码修改并重新提交, 推送, 这时候访问 线上环境,可知更新成功

  • 注意,使用 webhook 的时候需要禁止掉 action 操作,移除项目中 .github/, 否则可能会有冲突

3 )总结

  • 以上用一个非常简单的示例,结合前文搭建的环境,演示了如何结合 jenkins 和 docker 来发布代码
  • 这里 jenkins 是在物理机的,docker 是镜像的,其实也可以整个jenkins系统都用docker来部署
  • 注意,不管怎样,jenkins 和 docker 需要部署在一台物理机上,否则部署将会更加麻烦
  • 还有,jenkins 的更多高级应用可以在实际项目需求中探索
相关推荐
其实防守也摸鱼1 分钟前
ZLibrary 类项目合规避坑指南:从技术实现到法律风险的全景梳理
运维·服务器·数据库·安全·自动化·github·copilot
白猫不黑22 分钟前
网络空间安全/信息安全专业学习规划(超级详细版)
运维·学习·安全·web安全·网络安全·信息安全
裕晟资质规划29 分钟前
西安政务信息化项目涉密系统集成资质准入解析:甲级/乙级承接边界、等保差异与合规承接路径
大数据·运维·数据库·人工智能·安全·政务
lingran__42 分钟前
Linux 基础常用指令万字详解(下)|一切皆文件:重定向、管道、日志 与 Shell 原理
linux·运维·服务器·shell·管道·重定向·打包压缩
祖力551 小时前
进程间通信(IPC机制):无名通道与有名通道
linux·运维·服务器·进程·通信·进程间通信·ipc
XR1234567881 小时前
连锁多分支办公网络怎么选?统一运维与快速开局是关键
运维·网络·php
天远数科1 小时前
零信任架构实战:基于天远风控经营异常预警构建自动化企业准入网关
运维·人工智能·架构·自动化
华科大胡子1 小时前
Codex 实战:用 AI 写运维脚本
运维·人工智能
今天AI了吗1 小时前
AI工作流的自动化趋势:从手动实验到自主Agent的研究范式转变
运维·数据库·人工智能·sql·机器学习·自动化·github
奶油喜多多1 小时前
教育小程序定制开发指南:从需求梳理到上线运维
运维·小程序