Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

通过详细的描述并配合截图,从购买服务器开始,教大家使用 Gitee Go 持续集成部署 Node 项目。大家可以举一反三,结合 Gitee Go 服务进行更多的自动化任务。

本节中,我将通过详细的描述并配合截图,从购买服务器开始,教大家使用 Gitee Go 持续集成部署 Node 项目。

大家可以举一反三,结合 Gitee Go 服务进行更多的自动化任务。

大概查了下,目前已经有很优秀的相关教程了,写的也很详细,但是,要么时间太久远,要么图片示例还能再完善下。

解释

Gitee Go 是 Gitee 全新推出的一款 CI/CD 工具,提供持续集成、持续交付(部署)能力,帮助企业不断提升应用交付的质量和效率。通过构建自动化、测试自动化、部署自动化、运维自动化,完成从代码提交到应用交付的自动化。

简单说,就是一个自动打包并部署到服务器中的工具

解决难点

下面列出了常用方法和使用 Gitee Go 的步骤

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器


可以看到,Gitee Go 帮我们解决了很多需要重复劳动的部分,例如打包和文件上传等部分。

而且,如果您的业务更加复杂,还能集成测试和扫描,更进一步的降低项目部署难度。

配置好 Gitee Go 之后,只需提交代码, Gitee Go 就会自动帮你完成一系列的部署前准备工作,并自动部署到服务器上,让你有更多的时间来看我写的教程。

大概介绍

您可以参考我列出的环境,按照大概步骤,自己重现一遍。

限于篇幅原因,我希望您已有以下能力

  • 会购买阿里云服务器
  • 会使用 Node 构建项目,已经会打包部署等操作
  • 会使用 Gitee 进行代码的上传和管理

我们将通过以下几个步骤来帮助您使用 Gitee Go

  1. 购买服务器
  2. 准备授权信息
  3. 准备流水线

准备服务器和授权密钥对

为了方便演示,我购买的是最便宜的阿里云的 ECS 服务器( Gitee Go 仅支持阿里云的 ECS 服务器),配置如下,可供大家参考(该省省,该花花)

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

注意这里的地域信息,我们选的是深圳,稍后会用到此信息。

接下来,我们准备密钥对,点击右上角头像,选择 AccessKey 管理菜单

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

选择子用户

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

选择创建用户

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

按如下信息配置,记得勾选“ OpenAPI 调用访问”

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

点击确定按钮后,有如下信息,右侧的就是我们后续用到的秘钥对,只会出现这一次,请您保存收好。

保存好秘钥对后,点击左侧蓝色链接,我们来进行授权

此服务器在写完教程后已删除,诸位不用尝试截图中的秘钥了。

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

我们需要用到 ECS 相关权限,按下图所示,授权 ECS 权限,点击确定即可。

当然,为了项目的安全,您可以进一步的根据自己的实际需求来进行授权。

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

致此,我们已经准备好了密钥对,并完成了对子账户的授权操作。

准备Gitee Go 凭证管理

我们来到 Gitee 平台,找一个自己准备部署的仓库,点击流水线,开通 Gitee Go ,开通是完全免费的,每个月有1000分钟的免费额度,对于我们个人来说是妥妥够用的。

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

点击 Gitee 右上角的头像,点击设置菜单,在“流水线 Gitee go”菜单下,选择“凭证管理”,点击右上角的“新建凭证”,选择阿里云,点击下一步,根据提示填写相关信息。

其中的秘钥信息,是我们在上一节准备好的,写入即可。

关于地域 ID ,可在提示链接中,找到对应城市(深圳)的 ID ,填进去即可。

此处配置信息可向下滑动,有进一步的配置信息可填写

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

准备Gitee Go 主机管理

在“流水线 Gitee go”菜单下,选择“主机管理”,选择右上角“新建主机组”,选择阿里云,按要求填写信息,并选择之前准备好的凭证

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器


点击下一步后,点击安装,安装完成后,即可展示您添加的阿里云 ECS 信息了

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

截止目前为止,准备工作完成了,接下来开始配置流水线

配置流水线

在您需要部署的仓库中,选择“流水线”,点击右上角“新建流水线”

基本配置

在基本配置中,“流水线唯一标识”是需要保持唯一的,“流水线名称”可重复,如下图所示

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

触发事件

此处控制流水线触发条件,一旦满足指定条件,流水线就会自动进行一系列操作,

如下图所示,这里的事件监听选择“ Push 事件”,勾选分支匹配,触发方式选择自动触发。

这样,只要我们提交代码,就会触发流水线自动构建了

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

任务编排

这一步是最难的一步,但我们理清步骤,也会很容易实现。
我们的流水线要做以下几件事

  • 构建项目
  • 打包
  • 上传打包资源
  • 部署到服务器

很熟悉,对不对,

我们点击加号,名称改为“构建”,点击“新的任务”,选择构建列表中的“ Node js 构建”,点击右侧的+号添加,版本号选择最新的“17.8.0”

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

我们点击右侧的黄色+号,添加新的阶段,命名为“发布”,点击下方“新的任务”,在发布菜单中选择“发布”,其他信息默认即可

继续创建新阶段,命名为“部署”,点击下方“新的任务”,在部署菜单中选择“主机部署”,在执行主机组部分,选择我们之前添加的主机资源

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

配置项最下方有“部署脚本”,

我们需要在这里,将我们打包好的项目文件放到我们需要的位置。

这次的演示中,我需要放到服务器的以下位置

/www/wwwroot/test.sofile.cn

点击右侧的全屏按钮

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

#的是注释,我们可以看到这样的内容

# 使用场景:先将制品包解压缩到指定目录中,再执行启动脚本deploy.sh,脚本示例地址:https://gitee.com/gitee-go/spring-boot-maven-deploy-case/blob/master/deploy.sh
# mkdir -p /home/admin/app
# tar zxvf ~/gitee_go/deploy/output.tar.gz -C /home/admin/app
# sh /home/admin/app/deploy.sh restart

我们需要其中的这一段

tar zxvf ~/gitee_go/deploy/output.tar.gz -C /home/admin/app

将后面的地址改为自己需要的地址即可,类似这样

tar zxvf ~/gitee_go/deploy/output.tar.gz -C /www/wwwroot/test.sofile.cn
echo 'Hello Gitee Go!'

第一条是将打包好的项目文件解压到指定目录,第二条是输出一个信息。

总体流程如下

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

至此,流水线配置完毕,点击右上角X符号关闭窗口,点击保存按钮,确认新建文件信息。

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

这会将我们可视化配置的流水线信息通过 yml 文件格式保存在项目的.workflow文件夹中。

这里的文件名不要动,提交信息就是文件变更说明

使用

所有准备工作完毕,现在,我们只要在本地将准备好的代码提交到 Gitee 上,机会自动触发流水线任务,将打包好的文件放置中服务器上的指定位置了。

全程无需其他操作,只需提交代码,剩下的都自动化了

管理打包文件

如果你需要进一步的管理每次打包后的文件,可在发布菜单中添加发布任务,可在下图中的发布记录菜单中管理您的打包文件

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

排查错误

为了写这篇教程,前后修改了很多次配置文件,为了方便排查错误,您可以在“构建历史”菜单中,选择自己要查看的构建任务,选择一个阶段,获取相关详细信息,

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器


更可以点击其过程,了解更详细的运行信息

Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器

方便您排查错误。

最新文章

  • 后续文章不定期撰写中,点个关注,获取平台最新文章推送。
  • 技术有限,还望诸位协助勘误,于评论区指出,
  • 常一文多发,最新勘定和增补文章于下方链接给出
  • https://www.npc.ink/277432.html
投稿

display:inline-block,block,inline的区别与用法

2020-10-22 19:46:01

投稿

搜图教程

2024-2-29 14:51:36

⚠️
Npcink上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
无意侵害您的权益,请发送邮件至 1355471563#qq.com 或点击右侧 私信:Muze 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索