最近对workflows这个词开始有了一点了解,也开始认识到CI/CD的重要性,于是想着学习一下这方面的相关知识,平时工作的时候时候用的是gitlab,个人项目一般都会用github,考虑到各种资源等限制,先从github Action入手来学习CI/CD的内容
github Action可以做什么
CI/CD 是由很多操作组成,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。GitHub 把这些操作就称为 actions。
很多操作在不同项目里面是类似的,完全可以共享。GitHub 注意到了这一点,想出了一个很妙的点子,允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用。
如果你需要某个 action,不必自己写复杂的脚本,直接引用他人写好的 action 即可,整个持续集成过程,就变成了一个 actions 的组合。这就是 GitHub Actions 最特别的地方。
GitHub 做了一个官方市场,可以搜索到他人提交的 actions。
Github 给我们提供了一个以下配置的服务器来运行我们配置对应的 Actions
2-core CPU
7 GB of RAM memory
14 GB of SSD disk space
这个配置足够我们使用了,当然,如果你有网络时延的需求,(比如推送及拉取镜像时产生的网络时延),你也可以自建服务器。
链接:
https://github.com/marketplace?type=actions
中文学习网址:
https://docs.github.com/cn/actions
有了 GitHub Action 以后, GitHub 除了可以进行版本管理之外,能做的事情就更多了,比如在 master 分支上提交了一段代码, GitHub Action 可以自动的帮我部署到我自己的服务器上去,或者它还可以帮我把代码打成镜像,将镜像自动提交到镜像仓库里
GitHub Action 基本概念
- workflow (工作流程):持续集成一次运行的过程,就是一个 workflow
- job (任务):一个 workflow 由一个或多个 jobs 构成,含义是一次持续集成的运行,可以完成多个任务。
- step(步骤):每个 job 由多个 step 构成,一步步完成。
- action (动作):每个 step 可以依次执行一个或多个命令(action)
参考博客:https://www.cnblogs.com/babycomeon/p/12771624.html
操作前端项目自动构建案例
一、将前端vue项目部署到服务器上
- 打包项目( npm run dev)
- 将生成的项目压缩为zip格式上传到服务器
- 解压zip(unzip happyfri.zip)
这里由于前端vue项目在部署nginx出现了一些问题,这个问题先搁置一下,等问题解决了再继续更新
评论区