本节中,我将通过详细的描述并配合截图,从购买服务器开始,教大家使用 Gitee Go 持续集成部署 Node 项目。
大家可以举一反三,结合 Gitee Go 服务进行更多的自动化任务。
大概查了下,目前已经有很优秀的相关教程了,写的也很详细,但是,要么时间太久远,要么图片示例还能再完善下。
解释
Gitee Go 是 Gitee 全新推出的一款 CI/CD 工具,提供持续集成、持续交付(部署)能力,帮助企业不断提升应用交付的质量和效率。通过构建自动化、测试自动化、部署自动化、运维自动化,完成从代码提交到应用交付的自动化。
简单说,就是一个自动打包并部署到服务器中的工具
解决难点
下面列出了常用方法和使用 Gitee Go 的步骤
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/281518.png)
可以看到,Gitee Go 帮我们解决了很多需要重复劳动的部分,例如打包和文件上传等部分。
而且,如果您的业务更加复杂,还能集成测试和扫描,更进一步的降低项目部署难度。
配置好 Gitee Go 之后,只需提交代码, Gitee Go 就会自动帮你完成一系列的部署前准备工作,并自动部署到服务器上,让你有更多的时间来看我写的教程。
大概介绍
您可以参考我列出的环境,按照大概步骤,自己重现一遍。
限于篇幅原因,我希望您已有以下能力
- 会购买阿里云服务器
- 会使用 Node 构建项目,已经会打包部署等操作
- 会使用 Gitee 进行代码的上传和管理
我们将通过以下几个步骤来帮助您使用 Gitee Go
- 购买服务器
- 准备授权信息
- 准备流水线
准备服务器和授权密钥对
为了方便演示,我购买的是最便宜的阿里云的 ECS 服务器( Gitee Go 仅支持阿里云的 ECS 服务器),配置如下,可供大家参考(该省省,该花花)
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/283675.png)
注意这里的地域信息,我们选的是深圳,稍后会用到此信息。
接下来,我们准备密钥对,点击右上角头像,选择 AccessKey 管理菜单
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/284330.png)
选择子用户
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/285286.png)
选择创建用户
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/285868.png)
按如下信息配置,记得勾选“ OpenAPI 调用访问”
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/290498.png)
点击确定按钮后,有如下信息,右侧的就是我们后续用到的秘钥对,只会出现这一次,请您保存收好。
保存好秘钥对后,点击左侧蓝色链接,我们来进行授权
此服务器在写完教程后已删除,诸位不用尝试截图中的秘钥了。
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/291159.png)
我们需要用到 ECS 相关权限,按下图所示,授权 ECS 权限,点击确定即可。
当然,为了项目的安全,您可以进一步的根据自己的实际需求来进行授权。
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/291716.png)
致此,我们已经准备好了密钥对,并完成了对子账户的授权操作。
准备Gitee Go 凭证管理
我们来到 Gitee 平台,找一个自己准备部署的仓库,点击流水线,开通 Gitee Go ,开通是完全免费的,每个月有1000分钟的免费额度,对于我们个人来说是妥妥够用的。
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/292391.png)
点击 Gitee 右上角的头像,点击设置菜单,在“流水线 Gitee go”菜单下,选择“凭证管理”,点击右上角的“新建凭证”,选择阿里云,点击下一步,根据提示填写相关信息。
其中的秘钥信息,是我们在上一节准备好的,写入即可。
关于地域 ID ,可在提示链接中,找到对应城市(深圳)的 ID ,填进去即可。
此处配置信息可向下滑动,有进一步的配置信息可填写
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/292998.png)
准备Gitee Go 主机管理
在“流水线 Gitee go”菜单下,选择“主机管理”,选择右上角“新建主机组”,选择阿里云,按要求填写信息,并选择之前准备好的凭证
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/294414.png)
点击下一步后,点击安装,安装完成后,即可展示您添加的阿里云 ECS 信息了
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/294999.png)
截止目前为止,准备工作完成了,接下来开始配置流水线
配置流水线
在您需要部署的仓库中,选择“流水线”,点击右上角“新建流水线”
基本配置
在基本配置中,“流水线唯一标识”是需要保持唯一的,“流水线名称”可重复,如下图所示
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/295622.png)
触发事件
此处控制流水线触发条件,一旦满足指定条件,流水线就会自动进行一系列操作,
如下图所示,这里的事件监听选择“ Push 事件”,勾选分支匹配,触发方式选择自动触发。
这样,只要我们提交代码,就会触发流水线自动构建了
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/300331.png)
任务编排
这一步是最难的一步,但我们理清步骤,也会很容易实现。
我们的流水线要做以下几件事
- 构建项目
- 打包
- 上传打包资源
- 部署到服务器
很熟悉,对不对,
我们点击加号,名称改为“构建”,点击“新的任务”,选择构建列表中的“ Node js 构建”,点击右侧的+号添加,版本号选择最新的“17.8.0”
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/301181.png)
我们点击右侧的黄色+号,添加新的阶段,命名为“发布”,点击下方“新的任务”,在发布菜单中选择“发布”,其他信息默认即可
继续创建新阶段,命名为“部署”,点击下方“新的任务”,在部署菜单中选择“主机部署”,在执行主机组部分,选择我们之前添加的主机资源
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/302786.png)
配置项最下方有“部署脚本”,
我们需要在这里,将我们打包好的项目文件放到我们需要的位置。
这次的演示中,我需要放到服务器的以下位置
/www/wwwroot/test.sofile.cn
点击右侧的全屏按钮
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/303470.png)
带#
的是注释,我们可以看到这样的内容
# 使用场景:先将制品包解压缩到指定目录中,再执行启动脚本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项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/311478.png)
至此,流水线配置完毕,点击右上角X符号关闭窗口,点击保存按钮,确认新建文件信息。
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/312124.png)
这会将我们可视化配置的流水线信息通过 yml 文件格式保存在项目的.workflow
文件夹中。
这里的文件名不要动,提交信息就是文件变更说明
使用
所有准备工作完毕,现在,我们只要在本地将准备好的代码提交到 Gitee 上,机会自动触发流水线任务,将打包好的文件放置中服务器上的指定位置了。
全程无需其他操作,只需提交代码,剩下的都自动化了
管理打包文件
如果你需要进一步的管理每次打包后的文件,可在发布菜单中添加发布任务,可在下图中的发布记录菜单中管理您的打包文件
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/313176.png)
排查错误
为了写这篇教程,前后修改了很多次配置文件,为了方便排查错误,您可以在“构建历史”菜单中,选择自己要查看的构建任务,选择一个阶段,获取相关详细信息,
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/314525.png)
更可以点击其过程,了解更详细的运行信息
![Gitee Go 持续集成部署Node项目(详解图示版)- 提前下班神器](https://n.getimg.net/www/2023/07/315248.png)
方便您排查错误。
最新文章
- 后续文章不定期撰写中,点个关注,获取平台最新文章推送。
- 技术有限,还望诸位协助勘误,于评论区指出,
- 常一文多发,最新勘定和增补文章于下方链接给出
- https://www.npc.ink/277432.html