0


coding云原生构建实现自动化部署(前端代码v3+vite)

使用Coding CI/CD

在现代软件开发中,自动化部署是提高效率和降低出错率的关键步骤。本文将详细介绍如何使用

  1. coding-ci.yml

文件配置 CI/CD 流程,实现一个自动化的部署过程。我们将以一个简单的项目为例,讲解如何利用 Coding CI/CD 工具自动化构建和部署。

什么是 CI/CD?

CI/CD(持续集成/持续部署)是一种软件工程实践,通过自动化构建、测试和部署流程,提高开发效率和软件质量。CI(持续集成)旨在频繁地将代码集成到共享仓库中,并运行自动化测试。CD(持续部署)则自动将经过测试的代码部署到生产环境中,确保软件的快速交付。

话不多说我们直接代码进行分析

步骤

1. 创建

  1. coding-ci.yml

文件

  1. coding-ci.yml

是一个配置文件,用于定义 CI/CD 流程中的各个阶段。在本文中,我们将创建一个简单的 CI/CD 配置文件,以实现代码的自动构建、打包、同步到服务器并发布。

以下是一个示例

  1. coding-ci.yml

文件:

  1. master:#这里表示如果为master分支会执行后续步骤
  2. push:#这里表示如果为push推送将会执行后续步骤
  3. - runner:
  4. cpus: 4
  5. docker:
  6. image: node:14 # 使用 Node.js 的 Docker 镜像作为执行环境
  7. imports: https://xxxx #这是一个可以访问的yml 里面配置了数据库的key host password等等
  8. stages:
  9. - name: 安装依赖
  10. script:
  11. - echo "Installing dependencies..."
  12. - npm i # 使用 npm 安装项目依赖
  13. - name: 构建
  14. script:
  15. - echo "Building project..."
  16. - npm run build # 构建项目
  17. - tar -cvf dist.tar -C dist/ . # 将构建后的文件打包为 dist.tar
  18. - name: 同步
  19. image: appleboy/drone-scp
  20. settings:
  21. host: $DEV_HOST
  22. username: $DEV_USER
  23. key: $SSH_PRIVATE_KEY
  24. source: dist.tar
  25. target: /var/www/html # 同步到目标服务器
  26. - name: 发布
  27. image: appleboy/drone-ssh
  28. settings:
  29. host:
  30. - $DEV_HOST
  31. username: $DEV_USER
  32. key: $SSH_PRIVATE_KEY
  33. port: $SSH_PORT
  34. script:
  35. - cd /var/www/html
  36. - tar xvf dist.tar && unlink dist.tar
  37. - ln -sfn /var/www/html/dist /var/www/html/dist
  38. # - systemctl restart nginx # 重新启动服务

以下为imports导入的链接yml文件中的配置

  1. SSH_PRIVATE_KEY: |
  2. -----BEGIN OPENSSH PRIVATE KEY-----
  3. #这里是ssh私有密钥key
  4. -----END OPENSSH PRIVATE KEY-----
  5. SSH_PORT: 服务器端口
  6. DEV_HOST: 服务器ip
  7. DEV_USER: 服务器用户名

2. 配置详细解读

a. Runner 和 Docker
  1. runner:
  2. cpus: 4
  3. docker:
  4. image: node:14 # 使用 Node.js 的 Docker 镜像作为执行环境
  • runner: 设定了 CI 任务的 CPU 核心数为 4,确保构建任务能够快速执行。
  • docker: 使用 Node.js 14 的 Docker 镜像作为运行环境,确保构建和测试的环境一致性。
b. Import
  1. imports: https://coding.net/p/ci/d/dev-config/git/tree/master/coding-env.yml
  • imports: 导入其他配置文件(如环境变量设置),以便在构建过程中使用
c. Stages

CI/CD 流程被分为多个阶段,每个阶段执行特定的任务。

  • 安装依赖- name: 安装依赖 script: - echo "Installing dependencies..." - npm i # 使用 npm 安装项目依赖这个阶段安装项目所需的所有依赖包,确保构建时环境的完整性。
  • 构建
  1. - name: 构建
  2. script:
  3. - echo "Building project..."
  4. - npm run build # 构建项目
  5. - tar -cvf dist.tar -C dist/ . # 将构建后的文件打包为 dist.tar

在这个阶段,我们执行项目的构建任务,并将构建结果打包成

  1. dist.tar

文件,为后续的同步和部署做准备。

  • 同步
  1. - name: 同步
  2. image: appleboy/drone-scp
  3. settings:
  4. host: $DEV_HOST
  5. username: $DEV_USER
  6. key: $SSH_PRIVATE_KEY
  7. source: dist.tar
  8. target: /var/www/html # 同步到目标服务器

使用

  1. appleboy/drone-scp

镜像,将

  1. dist.tar

文件同步到目标服务器的指定目录。这里用到了环境变量来提供主机地址、用户名、密钥等信息。

  • 发布- name: 发布 image: appleboy/drone-ssh settings: host: - $DEV_HOST username: $DEV_USER key: $SSH_PRIVATE_KEY port: $SSH_PORT script: - cd /var/www/html - tar xvf dist.tar && unlink dist.tar - ln -sfn /var/www/html/dist /var/www/html/dist # - systemctl restart nginx # 重新启动服务这个阶段在目标服务器上执行命令,解压 dist.tar 文件,创建符号链接,并可选择重新启动 nginx 服务来使更改生效。

3. 实现步骤

  1. 配置 Git 仓库: 确保你的 Git 仓库中包含 coding-ci.yml 文件,并且设置了正确的环境变量,如 $DEV_HOST$DEV_USER$SSH_PRIVATE_KEY 等。
  2. 设置 Coding CI/CD: 在 Coding 平台上配置 CI/CD 工具,确保它可以读取 coding-ci.yml 文件并执行其中的任务。
  3. 提交代码: 将代码提交到 master 分支。每次提交时,CI/CD 流水线会自动运行,执行从安装依赖到发布的所有步骤。
  4. 检查结果: 查看 CI/CD 工具的执行日志,确保所有步骤成功完成。如果出现错误,根据日志进行调试和修正。

结论

通过配置

  1. coding-ci.yml

文件,你可以实现自动化的构建、部署和发布流程。这种自动化不仅提高了开发效率,还减少了人为错误的可能性。希望本文能帮助你理解和实现 CI/CD 流程,并应用到你的项目中。

标签: 自动化

本文转载自: https://blog.csdn.net/A_lose/article/details/142138755
版权归原作者 闽南, 所有, 如有侵权,请联系我们删除。

“coding云原生构建实现自动化部署(前端代码v3+vite)”的评论:

还没有评论