上手华为软开云DevOps前后端分离实践之-前端Vue

简介: 上手华为软开云DevOps前后端分离实践之-前端Vue

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第25天,点击查看活动详情

简介

前面实现了SpringBoot项目华为软开云的一键操作。这次来搞Vue,实现前后端完全分离。
这里我们仍然是先忽略华为软开云的项目管理功能(`Scrum`,看板里的需求规划、任务指派、工时分配),测试功能,文档管理功能,CloudIDE等;重点关注`项目创建、代码托管、编译构建、部署、发布以及流水线功能`;同时代码仅供示例,重在熟悉软开云的流程。
效果

IY8H4)GO[H@%9VJRX~ZX}0Q.png

Note: 以下步骤中有些与上一篇后端项目的搭建一致,所以这里做了省略,如有疑问,可以查看 后端 SpringBoot


创建项目


代码托管


  • 创建仓库

  • 选择模板、语言

  • 创建 SSH 并上传公钥

略(这一步一台机器操作一次即可)

通过git clone repo_url下载到本地。

  • 创建 Vue 脚手架项目

8@FOY%QRYX]WD`T[PP8MEWF.png

  • 前端代码示例

_XGP)(F[}LH821ZMD1T0`MB.png

  • push 代码到华为云

A2~~H%M_{@F%6]}JNCHT9{6.png

Note: 开发环境跨域

A5)ZM9I27H3LK]E)~EKH3HA.png

编译构建


可实时查看构建全量日志

  • 构建步骤


ICAO8}F[8F2Y7~(Y9ZVVX%I.png

Note: 深坑:默认仅将inidex.html传至发布包,竟然忽略了static目录!

这是实际构建应该生成的目录:

5QV@W5GRS@R2_EA}7VAKA]I.png

  • 官方文档

D]@B(@M8$[Y_{6Z8WGU{Y$K.png

So,也可以理解,服务器从安全的角度考虑,不支持自动创建文件夹。以下是解决方法:传到发布仓库时,先进行压缩,部署到服务器上再进行解压缩。

  • 添加执行Shell命令的构建步骤


R98NS[V09]WY@70398W$L@N.png

Note: 先添加压缩脚本,然后注意上传到软件发布库的构建包路径也做了修改。


发布包


这里的发布包可以在部署时进行选择

(J4RHIFT_8P4([HW$`_22B1.png


部署


可实时查看部署全量日志


  • 主机组,公网 IP

部署时,因为我们的项目要部署到一个公网可访问的服务器上,需要一个具有公网 IP 的主机组。点击上图中的创建主机组,完成主机组的创建后,需要往里添加主机,这时需要一个具有公网 IP 的主机,可以是华为的云主机,也可以是阿里云、腾讯云的主机,只要有公网 IP 即可。这里以华为云的主机为例:

2@H7}8O269W`%{M8{WKSLY5.png


将上述公网 IP 之一与一个主机实例绑定即可。

~R)B}JF}AKX59`9V_ROQVSX.png

  • 部署步骤配置

由于华为软开云没有对Vue项目的官方部署模板,下述步骤为自定义部署步骤:

N9[$RO%JZF}2K7Q8`HLVE6U.png

}UM921}NYY(DYNRA%NJRP0B.png

GM376ZNJ(VKDRJOHM5(C)VU.png

Note:

  1. 其中选择部署来源这一步,有两种选择:软件包构建任务。前者可选定某一次的发布包,后者可配置总是以最新的(Latest)发布包进行部署;
  2. 执行Shell命令的第一步是先将我们之前发布包进行解压,得到Vue生产环境下所有的静态资源;
  3. 执行Shell命令的第二步是安装依赖:首先配置全局npm包安装路径,接着全局安装nrm(注意软连接,这是Linux下全局安装npm包的一个坑),全局安装pm2;然后进入项目目录,安装依赖,最后由pm2守护启动。

PS:nrm 全局安装后,可切换npm包的镜像源地址;pm2 全局安装后,可切换npm包的镜像源地址;进入项目目录 指的是一个node.js后端服务项目,实现了静态资源服务器,以及Vue打包项目在生产环境下的跨域,将在下一篇文章中作详细介绍。

部署结果


}NGORW2FR9466H)_C)6[R9D.png

流水线


流水线功能可以由我们自定义一套自动执行流程,将前面的:构建、代码检查、部署添加到流水线,可实现一键部署。尤其是在移动端 APP DevCloud中,实现远程一键部署功能。

0G$4YIE`)9OW$J)[RM5Z23E.png

GZL7VS_M_M}KC6@9XZTMM15.png

A`U]4_8KO@SR{M]3P8ICXQV.png

至此,借助流水线,我们实现了在华为软开云上基于Vue的前端项目的一键检查、编译、部署。后续会实现基于Node.js的静态资源服务器(生产环境下 Vue 的跨域),敬请期待~


后记


  • 一点思考
    虽然软开云的思想是希望提升开发、运维的效率,尤其是将运维人员将各类Bash命令、Shell脚本中解放出来,但这其实是对运维人员在Linux应用方面提出了更高的要求。

Source Code: Github


If you have any questions or any bugs are found, please feel free to contact me.

Your comments and suggestions are welcome!

目录
相关文章
|
10天前
|
运维 安全 Devops
DevOps实践:自动化部署的脚本编写技巧
【9月更文挑战第24天】在DevOps文化中,自动化部署是提升效率、减少人为错误的关键。本文将引导读者了解自动化部署脚本的编写方法,从基础命令到复杂逻辑,逐步深入。你将学会如何用代码简化日常任务,让重复工作变得轻松愉快。让我们一起探索自动化的世界,释放你的创造力!
|
6天前
|
JavaScript 前端开发 小程序
一小时入门Vue.js前端开发
本文是作者关于Vue.js前端开发的快速入门教程,包括结果展示、参考链接、注意事项以及常见问题的解决方法。文章提供了Vue.js的基础使用介绍,如何安装和使用cnpm,以及如何解决命令行中遇到的一些常见问题。
一小时入门Vue.js前端开发
|
9天前
|
存储 前端开发 数据库
前端项目一键换肤vue+element(ColorPicker)
本文介绍了如何在前端项目中实现一键换肤功能,通过使用CSS变量和Element UI的颜色选择器组件(ColorPicker),并结合Vuex进行状态管理和持久化,实现主题颜色的动态切换。
24 3
前端项目一键换肤vue+element(ColorPicker)
|
15天前
|
缓存 前端开发 JavaScript
优化前端性能:关键策略与实践
随着互联网技术的发展,用户对网页加载速度和交互体验的要求日益提高,前端性能优化成为提升用户体验和网站竞争力的关键。本文探讨了前端性能优化的重要性和七大关键策略,包括压缩资源文件、利用浏览器缓存、减少HTTP请求、异步加载、使用CDN、优化CSS和JavaScript执行及第三方脚本优化,并提供了实践案例,帮助开发者构建更快、更高效的网站。
|
1天前
|
Devops jenkins 测试技术
DevOps实践:持续集成与持续部署(CI/CD)的实现之路
【9月更文挑战第33天】在软件开发的海洋中,DevOps是一艘能够加速航行、提升航程质量的巨轮。本文将作为你的航海图,指引你理解并实现DevOps文化中的核心环节——持续集成(CI)与持续部署(CD)。我们将从基础概念出发,逐步深入到实际操作,带你领略代码到部署的全过程。准备好扬帆起航,让我们共同探索如何通过自动化工具和流程优化,让软件交付变得既高效又可靠。
|
5天前
|
存储 JavaScript 前端开发
前端 vue:路由的高级使用
前端 vue:路由的高级使用
|
5天前
|
资源调度 JavaScript 前端开发
前端vue:路由的基本使用
前端vue:路由的基本使用
|
4天前
|
监控 Devops 测试技术
DevOps实践:持续集成与部署的自动化之路
【9月更文挑战第30天】在软件工程的世界中,DevOps已成为提升开发效率、确保软件质量和加快交付速度的关键策略。本文将深入探讨如何通过自动化工具和流程实现持续集成(CI)与持续部署(CD),从而优化软件开发周期。我们将从基础概念出发,逐步深入到实际操作,最终展示如何构建一个高效的自动化流水线,以支持快速迭代和高质量发布。
22 7
|
14天前
|
Devops jenkins Java
DevOps实践:持续集成和部署的自动化之旅
【9月更文挑战第20天】在软件开发的世界里,速度和质量是至关重要的。本文将带领读者踏上一场自动化之旅,深入探索DevOps文化中的两大支柱——持续集成(CI)和持续部署(CD)。我们将通过一个实际的案例,展示如何利用现代工具和技术实现代码从编写到部署的无缝转换,确保软件交付的高效性和可靠性。准备好让你的开发流程变得更加流畅和高效了吗?让我们开始吧!
|
5天前
|
Devops jenkins 测试技术
DevOps实践:持续集成与自动化测试的融合之道
【9月更文挑战第29天】在软件开发的快节奏竞赛中,DevOps如同一位智慧的舵手,引领着船只驶向效率与质量的彼岸。本文将揭开DevOps的神秘面纱,探索其核心理念如何通过持续集成(CI)和自动化测试的实践,实现软件开发流程的优化与加速。我们将一同见证代码从构思到部署的旅程,以及这一过程中的关键技术和工具如何协同工作,确保软件质量和交付速度的双重提升。
下一篇
无影云桌面