前言

最近这一段时间一直使用的是GitHub+Actions实现双部署。因为已经了解到了coding是有访问认证的。但一直忽略了GitHub可以直接使用Token进行访问认证。

快速开始

  1. 获取coding的访问认证

    获取方法可以参考这篇文章https://blog.antmoe.com/posts/51b0fa77/index.html

  2. 获取GitHub的Token

    关于GitHub的Token介绍与获取请参考Creating a personal access token for the command line

    获取后将ssh的链接地址换成https的地址。

    格式为https://你的token@github.com/owner/repo.git

  3. 最后修改hexo的配置文件

    1
    2
    3
    4
    5
    6
    deploy:
    - type: git
    repository:
    github: https://你的token@github.com/owner/repo
    coding: https://username:password@e.coding.net/owner/repo
    branch: master

    其中baidu_url_submitterbaidu_xz_url_submitter是我安装的百度推送插件。如果你没有安装不必填写。

    coding的usernamepassword并非你的登录账户,而是访问令牌的账户和密码

  4. 配置文件还是用上次的配置文件即可

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    pipeline {
    agent any
    stages {
    stage('克隆项目') {
    steps {
    sh 'git clone https://账号:密码@地址 .'
    sh 'ls -a'
    }
    }
    stage('安装依赖') {
    steps {
    sh 'ls -a'
    sh 'npm install -g hexo-cli'
    sh 'npm install hexo --save'
    }
    }
    stage('构建发布') {
    steps {
    sh 'hexo clean && hexo g && hexo d'
    }
    }
    }
    }
  5. 最后说一下脚本的思路

    1. 脚本会告诉coding的服务器:“我要使用node-10的环境”

    2. 执行步骤-克隆项目

      • 运行命令git clone 项目地址

        既然是要对你的文件进行生成,那么这里肯定填的是你源文件的地址,而不是发布的仓库地址。

    3. 执行步骤-安装依赖

      此步骤模拟你在自己电脑上初次运行hexo时需要做的

      npm install -g hexo-clinpm install hexo --save命令。

    4. 执行步骤-构建发布

      这一步就相当于你运行hexo clean && hexo g && hexo d的命令。

    当然了,这一切都是在coding的服务上运行的,所以你只管push,coding服务器会帮你完成这些操作。

常见问题

  1. 请确保你的pages项目仓库是公开的,否则请同样配置访问密钥,并修改hexo根目录下的配置文件。

    如果你的pages服务在coding,并且仓库是私有的,那么请添加项目令牌。并替换博客根目录的地址。

    10.png

    然后替换博客根目录下 配置文件中的git地址。

    同样的地址也是https://username:password@项目地址

    假如说我的

    • 令牌用户名是:root
  • 令牌密码是:abcdefg

    • 项目地址是https://e.coding.net/test/test.git

    那么在配置文件中的地址就是https://root:abcdefg@e.coding.net/test/test.git

  1. GitHub的访问地址

    比如生成的token为12345abc

    我的项目地址为https://github.com/test/test.git

    那么配置文件(hexo的配置文件)中的deploy地址就应该为https://12345abc@github.com/test/test.git

最后,如果我的文章对你有帮助,那么你可以点下边的赞赏按钮,请作者喝杯咖啡哦!

如果图片失效请在下方留言,或联系作者。

原创不易,所有文字及图片都是我自己一个一个弄得。
搬砖党请尊重一下作者,转载请标明出处。