GitLab Pages 托管静态网站


曾经用 Github Pages 来托管博客内容,但是有一些不足:

  • 在不科学上网的情况下,是没法访问的,或者访问速度非常慢
  • 代码仓库必须是公开的,如果设置为私有,得另外配置很多东西

新建项目

这里的 Project name 一定要写成 xxxx.gitlab.io,这样后面形成的部署地址会很简洁,不然会有些麻烦(生成含有随机字数和字母的链接,或者链接有二级地址,显的很长)。

在这里插入图片描述

配置博客

修改博客工程的配置文件 _config.yml

deploy:
  type: git
  repo: git@gitlab.com:username/username.gitlab.io.git
  branch: main

部署博客

hexo clean
hexo g
hexo d

添加 .gitlab-ci.yml

Gitlab Pages 的运行和 Github 还不一样,它是通过 pipeline 执行 job 来部署。

所以要在新建的项目中添加一个 .gitalb-ci.yml,在上一步配置部署博客地址后,第一步中新建的项目中,应该可以看到我本地提交的代码或者文件等。

# The Docker image that will be used to build your app
default:
  image: ruby:3.2  # default
pages:
  stage: deploy
  script:
    - mkdir .public
    - cp -r ./* .public
    - rm -rf public
    - mv .public public
  artifacts:
    paths:
      - public
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH

新建 .gitalb-ci.yml 后,会自动触发 pipeline,正常情况下,执行通过。

在这里插入图片描述

进入 Deploy-Pages,点击 pages 链接,访问我部署的博客。

在这里插入图片描述

其他配置

转到 Settings > Repository > Protected branches

查看 main 分支是否被保护。如果是,开启“Allowed to force push”。


展示:Magnolia’s Blog

### GitLab Pages 配置与使用指南 #### 一、GitLab Pages简介 GitLab PagesGitLab 提供的一项服务,旨在让用户能够轻松托管静态网站。这项功能类似于 GitHub Pages,在 GitLab 上提供了类似的网页发布能力[^1]。 #### 二、项目的基础介绍和主要编程语言 该项目主要是为了实现像GitHub Pages一样的页面展示效果而设计的工具集和服务接口集合。其开发过程中可能涉及多种技术栈,但具体的主要编程语言未被特别指出;通常这类项目会涉及到HTML/CSS/JavaScript等前端技术和一些服务器端脚本编写来处理构建过程中的自动化任务[^3]。 #### 三、项目的目录结构及说明 对于想要利用GitLab Pages创建并维护个人站点的人来说,理解官方仓库内的文件夹布局是非常有帮助的。一般而言,该类项目的根目录下会有如下几个重要组成部分: - `.gitlab-ci.yml`:这是CI管道配置文件的位置,用于定义如何自动编译、测试以及部署您的应用至Pages服务。 - `public/` 或者其他指定作为输出路径的文件夹:此位置存储着最终要发布的静态资源文件,比如HTML文档、样式表单、图片素材等等。 - 可能存在的源码文件夹(视具体情况而定),例如如果采用的是Jekyll框架,则可能会有一个名为 `_posts` 的特殊子目录用来放置Markdown格式的日志文章. #### 四、安装与基本设置流程概述 当准备就绪之后就可以按照以下方式来进行初步设置了: 通过`.gitlab-ci.yml` 文件可以自定义持续集成(CI)的工作流,从而简化从代码提交到最后上线整个周期的操作步骤。这里提供了一个简单的例子以指导使用者完成最基础的功能开启工作——即让自己的私有库也能享受到Pages带来的便利之处: ```yaml image: ruby:2.7 pages: stage: deploy script: - apt-get update -qy - apt-get install -y nodejs npm - gem install jekyll bundler - public only: - master ``` 上述YAML片段展示了怎样借助Ruby环境下的Gem包管理器去安装必要的依赖项(Jekyll),并且执行命令生成目标产物(`public`)。最后一步则是告诉GitLab CI系统哪些成果应该被打包上传给Pages实例进行分发[^4]. #### 五、高级特性探索 除了以上提到的内容外,还有许多额外选项可供开发者挖掘,比如说支持HTTPS协议的安全连接、定制域名绑定、多分支版本控制等功能都极大地方便了实际应用场景下的需求满足[^2].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值