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 中修改
    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. Jenkins: 配合docker部署项目

    2024-03-17 09:34:06       21 阅读
  2. Docker Compose 部署 jenkins

    2024-03-17 09:34:06       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-17 09:34:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-17 09:34:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-17 09:34:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-17 09:34:06       18 阅读

热门阅读

  1. tesseract ocr 安装/调用/训练

    2024-03-17 09:34:06       18 阅读
  2. 基于单片机的电梯系统模拟与研究

    2024-03-17 09:34:06       17 阅读
  3. 音乐软件开发的C#编程思路与实现

    2024-03-17 09:34:06       19 阅读
  4. 【uniapp】uniapp的安卓apk图标角标设置消息数量

    2024-03-17 09:34:06       17 阅读
  5. 有向图的DFS(c++题解)

    2024-03-17 09:34:06       20 阅读
  6. three.js工厂点击动画、标签

    2024-03-17 09:34:06       23 阅读