返回

Docker + Nginx + Jenkins + Gitlab:全方位前后端持续集成部署教程

前端

前言

随着现代软件开发的快速发展,持续集成和自动化部署已成为当今开发团队的必备技能。本文将全面介绍如何在CentOS服务器上搭建Docker、Nginx、Jenkins和Gitlab,并构建前端自动化部署流水线。

准备工作

首先,我们需要准备一台CentOS服务器,并安装好必要的软件工具,包括:

  • Xshell:远程连接服务器的工具。
  • Xftp:文件传输工具。
  • WinSCP:文件传输工具。
  • Docker:容器化应用平台。
  • Nginx:反向代理服务器。
  • Jenkins:持续集成工具。
  • Gitlab:代码托管平台。

Docker安装与配置

Docker是一个开放平台,可让开发者打包和分发应用程序及其运行环境,容器大小更小,启动更迅速,版本一致,降低成本,而且安全性高。

  1. 安装Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
  1. 启动并启用Docker
systemctl start docker
systemctl enable docker
  1. 验证Docker安装
docker version

Nginx安装与配置

Nginx是一个高性能的HTTP和反向代理服务器,以其高稳定性、高性能和低资源消耗等优点闻名。

  1. 安装Nginx
yum install -y nginx
  1. 启动并启用Nginx
systemctl start nginx
systemctl enable nginx
  1. 配置Nginx

编辑配置文件/etc/nginx/nginx.conf,添加以下内容:

server {
    listen 80;
    server_name example.com;
    location / {
        root /usr/share/nginx/html;
        index index.html;
    }
}
  1. 重启Nginx
systemctl restart nginx

Jenkins安装与配置

Jenkins是一个开源的持续集成工具,可帮助开发者构建、测试和部署软件。

  1. 安装Jenkins
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
yum install -y jenkins
  1. 启动并启用Jenkins
systemctl start jenkins
systemctl enable jenkins
  1. 配置Jenkins

访问http://localhost:8080,即可进入Jenkins页面。按照提示完成初始配置,包括设置管理员密码等。

Gitlab安装与配置

Gitlab是一个开源的代码托管平台,可用于代码版本控制、问题跟踪等。

  1. 安装Gitlab
curl -L "https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh" | sudo bash
yum install -y gitlab-ce
  1. 启动并启用Gitlab
systemctl start gitlab-ce
systemctl enable gitlab-ce
  1. 配置Gitlab

访问http://localhost:10443,即可进入Gitlab页面。按照提示完成初始配置,包括设置管理员密码等。

自动化部署流程搭建

  1. 创建Git仓库

在Gitlab上创建一个新的仓库,并将项目代码推送到仓库中。

  1. 配置Jenkins

在Jenkins中,创建一个新的作业,并在构建配置中添加以下内容:

Pipeline Script
node {
    stage('Checkout Git') {
        git url: 'https://gitlab.com/username/repository.git'
    }
    stage('Build') {
        sh 'mvn clean package'
    }
    stage('Deploy') {
        sh 'scp target/*.war username@server_ip:/path/to/deploy'
        sh 'ssh username@server_ip "systemctl restart nginx"'
    }
}
  1. 触发构建

点击Jenkins作业的“构建”按钮,即可触发构建过程。

  1. 验证部署

访问http://example.com,即可查看已部署的项目。

总结

本文详细介绍了如何在CentOS服务器上搭建Docker、Nginx、Jenkins和Gitlab,并构建前端自动化部署流水线。通过这些工具的协同使用,我们可以实现持续集成、自动化部署,从而提高开发效率和软件质量。