返回

Docker与GitHub Actions携手,畅享前后端分离项目zhontai的云端部署之旅

后端

前言:云端部署,提升项目实力

在当今快速发展的数字化时代,云端部署已成为软件项目必不可少的环节。它不仅可以提高项目的可用性和可扩展性,还能优化资源利用率并降低成本。

本文将聚焦如何使用GitHub Actions和Docker技术,实现.Net Core+Vue前后端分离项目zhontai的构建和云端部署。通过循序渐进的步骤和清晰的讲解,您将掌握一套完善的云端部署流程,为项目的成功部署打下坚实的基础。

一、GitHub Actions:持续集成与持续部署的得力助手

GitHub Actions作为一款强大的持续集成和持续部署(CI/CD)工具,能够帮助开发者自动化项目构建、测试和部署等任务。它与GitHub无缝集成,支持多种编程语言和云平台,为项目的云端部署提供了便利。

1. 创建GitHub Actions工作流

首先,您需要在GitHub仓库中创建一个新的工作流文件.github/workflows/build-and-deploy.yml,并添加以下代码:

name: Build and Deploy

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: dotnet build --configuration Release
      - run: npm install
      - run: npm run build --prod

  deploy:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: appleboy/scp-action@master
        with:
          host: ${{ secrets.HOST }}
          username: ${{ secrets.USERNAME }}
          password: ${{ secrets.PASSWORD }}
          port: 22
          source: "build/**/*"
          target: "/var/www/html/zhontai"

这个工作流定义了两个作业:

  • build:负责构建.Net Core和Vue项目。
  • deploy:负责将构建后的项目部署到云服务器。

2. 配置GitHub Actions密钥

为了使工作流能够访问GitHub仓库和云服务器,您需要配置GitHub Actions密钥:

  1. 在GitHub仓库的“Settings”页面,选择“Secrets”。
  2. 单击“New secret”按钮,并输入以下密钥:
Name: HOST
Value: 您的云服务器IP地址或域名
Name: USERNAME
Value: 您的云服务器用户名
Name: PASSWORD
Value: 您的云服务器密码

二、Docker:轻量级容器技术,助力应用高效运行

Docker作为一种轻量级的容器技术,可以将应用程序及其依赖项打包成一个可移植的镜像,从而实现应用的快速部署和运行。

1. 构建Docker镜像

首先,您需要构建一个Docker镜像,并将其推送到Docker Hub。您可以使用以下Dockerfile来构建镜像:

FROM mcr.microsoft.com/dotnet/aspnet:6.0
WORKDIR /app
COPY . /app
RUN dotnet restore
RUN dotnet build --configuration Release
COPY build/Web /app/wwwroot

然后,使用以下命令构建并推送镜像:

docker build -t your-image-name .
docker push your-image-name

2. 在云服务器上部署Docker容器

在云服务器上,您可以使用以下命令部署Docker容器:

docker pull your-image-name
docker run -d -p 80:80 your-image-name

这将拉取镜像并启动一个容器,并将容器的80端口映射到云服务器的80端口。这样,您就可以通过云服务器的80端口访问项目了。

三、结语:云端部署,开启项目新篇章

通过本文的讲解,您已经掌握了使用GitHub Actions和Docker技术,实现.Net Core+Vue前后端分离项目zhontai的构建和云端部署的详细步骤。

云端部署不仅可以提高项目的可用性和可扩展性,还能优化资源利用率并降低成本。希望您能运用本文所学,将项目成功部署到云端,开启项目的新篇章。

如果您在云端部署的过程中遇到任何问题,欢迎随时留言,我将竭诚为您解答。