<meta charset="utf-8">
gitlab pages搭建历程
- 背景
目前私库文档主要是本地打开项目后运行 pnpm run start 启动后进行预览,很不方便。期望能提供一个远程地址直接在线预览。
最开始的计划是,利用OSS Bucket搭建私库文档在线地址,思路是本地打包->文件上传至OSS Bucket->配置该bucket的静态站点属性->生成预览地址。
放弃原因:
1.OSS Bucket不提供直接上传文件夹,前端构建产物有很多文件,上传复杂、麻烦;
2.每次都需要手动在本地构建,然后触发上传命令(这一步应该可以放到发版的.gitlab-ci.yml文件执行的脚本里面);
3.参考github pages,gitlab应该也有同样的产品,可以是一个更好的选择,理想化是在代码仓库里面即可管理开发代码,也可管理构建产物;
4.没玩儿过gitlab pages。
gitlab pages思路:搭CI/CD的车,把文档构建和代码提交的命令放到自动化里面->配置对应gitlab pages属性->生成预览地址。
- 搭建过程
先创建了一个临时仓库,在上面瞎搞。
1. .gitlab-ci.yml
2. 开启gitlab runner
3. 查看CI/CD执行进度
4. 查看gitlab pages地址
Setting -> pages
难点
gitlab pages相当于开辟了一块服务器空间供静态网站发布,固定了public作为存放构建产物的文件夹,暂时不支持修改;
gitlab runner:可以理解为执行.gitlab-ci.yml文件命令的运行环境,gitlab pages必须要有.gitlab-ci.yml走CI/CD流程,才能继续部署到gitlab pages的静态服务器,了解这个东西是本次花费时间最多的地方,这里的runner是运维在服务器上面实现的,如果是官方gitlab,可以在本地配置runner;
域名解析:因为我们的gitlab是私有化部署,生成的pages域名需要单独解析,否则就是无效的,查找不到IP地址(运维的解释是:gitlab官方实现pages也是走了pages地址泛解析,我们这里一样的泛解析就可以了);域名泛解析:*.dev.easy-go.net(将主域名是dev.easy-go.net的域名统一解析到gitlab已有的地址,由gitlab内部处理)。
没有代码仓库的权限,导致网上的教程找了很多,但是连设置都找不到,或者找不到runners开启的地方,或者删除自建项目的功能都没得。