基于Docker、Nginx和Jenkins实现前端自动化部署

本文主要介绍了搭建Docker+Nginx+Jenkins环境,用于实现前端自动化部署的流程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

前期准备

  • 基于CentOS 7系统云服务器一台。
  • 基于Vue-CLI的项目部署在GitLab之上。

部署目标

搭建Docker+Nginx+Jenkins环境,用于实现前端自动化部署的流程。具体的实现效果为开发人员在本地开发,push提交代码到指定分支,自动触发Jenkins进行持续集成和自动化部署。可以设置在部署完成后通过邮件通知,部署的成功与否,成功后会将打包后的文件上传到服务器,通过nginx反向代理展现页面,失败则会打印相关的错误日志。

友情提示:尽量选择阿里云或者腾讯云服务器,其他服务器部署时可能会出现Jenkins无法正常启动!

Dcoker环境的搭建

连接云服务器

可以选择阿里云或者腾讯云提供的在线终端(有时会卡),但是推荐使用本地电脑进行连接。在终端输入连接命令:

 ssh root@你的服务器公网地址 

之后输入云服务器密码,命令显示结果如下:

用Docker、Nginx和Jenkins实现前端自动化部署

Docker有两个分支版本:Docker CE和Docker EE,即社区版和企业版。本教程基于CentOS 7安装Docker CE。

安装Docker环境

1、安装Docker的依赖库。

 yum install -y yum-utils device-mapper-persistent-data lvm2

2、添加Docker CE的软件源信息。

 sudo yum-config-manager --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo 

3、安装Docker CE。

 sudo yum install docker-ce 

4、启动Docker服务。

 sudo systemctl enable docker // 设置开机自启 sudo systemctl start docker //  启动docker

Docker安装Docker Compose

Docker Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YML文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从YML文件配置中创建并启动所有服务。下载docker-compose:

 sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 

安装完成后提升权限:

 sudo chmod +x /usr/local/bin/docker-compose 

输入docker-compose -v显示如下页面:

用Docker、Nginx和Jenkins实现前端自动化部署

Docker安装Nginx和Jenkins服务

安装Nginx和Jenkins

Docker镜像拉取Nginx和Jenkins环境命令如下:

 docker pull nginx docker pull jenkins/jenkins:lts 

安装完成后执行docker images可以清晰的看到当前Docker下存在的镜像。

 docker images

用Docker、Nginx和Jenkins实现前端自动化部署

Nginx和Jenkins目录编写

为了便于管理,在Docker下我们将Nginx和Jenkins聚集到一个文件目录之中。目录结构如下:

 + compose - docker-compose.yml  // docker-compose执行文件 + nginx + conf.d - nginx.conf        // Nginx配置 + jenkins - jenkins_home       // Jenkins挂载卷 + webserver -static              //存放前端打包后的dist文件

Web server目录属于后期生成暂不讨论,需要手动创建的是Compose,Nginx和Jenkins目录及其下属文件,其中最主要的是docker-compose.yml文件和nginx.conf文件的配置。以上文件夹建议放在根目录下面,可以放在home文件夹之下也可以单独创建一个新的文件夹。

docker-compose.yml文件配置

 version: '3' services:                                      # 集合 docker_jenkins: user: root

以上就是基于Docker、Nginx和Jenkins实现前端自动化部署的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 站长技巧