码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 基于gitlab 15.1 pages 搭建内部博客一定行版本


    背景

    基于 gitlab 15.1版 pages 搭建内部博客,参考官方文档,遇到一个又一个坑。之前看到别人吐槽说 gitlab 官方文档很差,我算是理解了。下面一个个说。

    开始

    按照官方文档的说法,基于模板创建一个新项目。

    image

    然后执行 CI/CD > Pipelines ,等任务执行完毕,到 Settings > Pages 就能访问到博客了。


    先说第一个坑,gitlab 提供的 hexo 模板 https://gitlab.com/pages/hexo 是两年前的了,Pipelines 根本编译不通过。下面提供正确的做法。

    这里感谢 hexo 官方文档,https://hexo.io/docs/gitlab-pages

    在 gitlab 新建一个空白的项目。
    先在服务器上执行如下操作,安装 node、hexo

    wget https://mirrors.cloud.tencent.com/nodejs-release/v14.19.1/node-v14.19.1-linux-x64.tar.gz
    tar zxvf node-v14.19.1-linux-x64.tar.gz 
    mv node-v14.19.1-linux-x64 /usr/local/node
    
    cat <<'EOF'> /etc/profile.d/node.sh
    export NODE_HOME=/usr/local/node
    export PATH=$NODE_HOME/bin:$PATH
    EOF
    source /etc/profile
    # 换国内源
    npm config set registry http://mirrors.cloud.tencent.com/npm/
    # cnpm
    cd /usr/local/node/bin && npm install -g cnpm --registry=https://registry.npmmirror.com
    # vue
    cnpm install -g @vue/cli
    # hexo
    npm install -g hexo-cli
    
    ln -fs /usr/local/node/bin/* /usr/bin
    

    接下来,在 gitlab 新建一个空白项目,初始化 hexo

    git clone https://gitlab.xxx.info/xx/xx.git
    mv xx/.git /tmp
    hexo init xx
    mv /tmp/.git xx
    

    新建一个用于 gitlab ci 的 yml 文件,注意这里的 node 版本要和你安装的 node 版本一致

    cd xx
    cat <  .gitlab-ci.yml
    image: node:v14.19.1
    cache:
      paths:
        - node_modules/
    
    before_script:
      - npm install hexo-cli -g
      - npm install
    
    pages:
      script:
        - npm run build
      artifacts:
        paths:
          - public
      rules:
        - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
    EOF
    

    然后上传到 gitlab 上,运行 pipeline ,编译通过。
    image

    自定义域名

    这里因特殊原因,需要自定义域名,按照官方文档的说法,只需要 Setting > Pages 就能看到 New domain 的选项了,但我看不到啊!!!最后又是各种找文档。

    原来是需要加一些配置,gitlab 要启用 pages 的各种功能,需要在 gitlab.rb 启用如下配置:

    external_url 'http://gitlab.xx.info/'
    pages_external_url "https://xx.yyy.info/"
    gitlab_pages['enable'] = true
    gitlab_pages['external_http'] = ['192.168.12.174:8090']
    pages_nginx['enable'] = false
    

    重新配置 gitlab 即可。

    新增域名时会要求做验证,可以在这里关闭验证。
    Admin > Settings > Preferences > Pages
    把√去掉
    image

    再去 pages 就能看到你可以访问的域名了。
    image

  • 相关阅读:
    【pygame学习+实战】第一篇:游戏最小系统
    XHbuilder 需要的 ipa 签名,超详细的教程,你不看吃亏的是自己!
    IronBarcode for .NET 2022.11.10702 Crack
    20.flink流处理和批处理的一些思考(对新手来说很重要)
    Fabric.js 变换视窗
    【Leetcode】 707. 设计链表
    Hadoop3.x - 本地安装 & 完全分布式安装 & 集群配置 & xsync分发脚本 (解决root用户启动Hadoop集群的报错问题)
    第六十五章 符号概览
    Qt定制化QSettings读写文件的格式
    数商云:供应商多场景趋势下,服装企业如何打造灵活应用的SRM管理体系?
  • 原文地址:https://www.cnblogs.com/fsckzy/p/16520395.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号