资讯专栏INFORMATION COLUMN

使用AppVeyor持续集成博客

Galence / 603人阅读

摘要:创建账号进入官网,游客会跳转到页,这里可以注册,也可以使用账号授权登陆。可到加密页面进行加密。配置在项目中新建文件,用于配置持续集成的命令自己的加密默认版本太老大致的意思是从仓库的当前分支拉取下来,编译成静态文件后,在到目标分支。

创建AppVeyor账号

进入AppVeyor官网,游客会跳转到 /login 页,这里可以注册,也可以使用 GitHub 账号授权登陆。

创建CI项目

/projects 页面选择你的博客源码仓库

配置CI项目

点击项目中 SETTINGS 选项卡,如果项目分支不是默认的,修改 Default branch

再点击 Environment 栏目,设置4个环境变量:

name value
STATIC_SITE_REPO 静态页面的仓库地址
TARGET_BRANCH 编译后文件存放的分支
GIT_USER_EMAIL Github用户邮箱
GIT_USER_NAME Github用户名

设置好后点击 Save 保存。

获取AccessToken

打开 GitHub 个人设置

点击 Developer settings 栏目,再点击 Personal access tokens 选项卡,可以看到已有的Token,这里点击 Generate new token 按钮创建一个博客专用的token。

可以参考官方文档

加密AccessToken

由于这个AccessToken可以直接操作你的仓库的,而且配置文件是公开的,所以这时就要求对AccessToken进行加密。可到AppVeyor Token加密页面进行加密。把加密后的字符串填入下一步中的配置文件里。

配置CI

在项目中新建 appveyor.yml 文件,用于配置持续集成的命令

clone_depth: 5

environment:
    access_token:
        secure: # 自己的加密token
install:
    - ps: Install-Product node 6.9 # 默认node版本太老
    - node --version
    - npm --version
    - npm install
    - npm install hexo-cli -g
    
build_script:
    - hexo generate
    
artifacts:
    - path: public
    
on_success:
    - git config --global credential.helper store
    - ps: Add-Content "$env:USERPROFILE.git-credentials" "https://$($env:access_token):x-oauth-basic@github.com`n"
    - git config --global user.email "%GIT_USER_EMAIL%"
    - git config --global user.name "%GIT_USER_NAME%"
    - git clone --depth 5 -q --branch=%TARGET_BRANCH% %STATIC_SITE_REPO% %TEMP%static-site
    - cd %TEMP%static-site
    - del * /f /q
    - for /d %%p IN (*) do rmdir "%%p" /s /q
    - SETLOCAL EnableDelayedExpansion & robocopy "%APPVEYOR_BUILD_FOLDER%public" "%TEMP%static-site" /e & IF !ERRORLEVEL! EQU 1 (exit 0) ELSE (IF !ERRORLEVEL! EQU 3 (exit 0) ELSE (exit 1))
    - git add -A
    - git commit -m "Update Static Site"
    - git push origin %TARGET_BRANCH%
- appveyor AddMessage "Static Site Updated"

大致的意思是从github仓库的当前分支拉取下来,编译成静态文件后,在push到目标分支。由于AppVeyor环境中是通过Access Token访问我们的仓库的,而Hexo自带的部署则在访问的过程中需要我们输入帐号密码,所以 Hexo g -d 的命令就不适合在这里使用。需要先编译成静态文件,再把public文件夹的静态文件push到目标分支。

完成

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29052.html

相关文章

  • PHP新手开发者的路线建议

    摘要:年开发者应该熟练使用,并且知道版本更新内容。对开发和运维人员来说,最希望的就是一次性创建或配置,可以在任意地方正常运行。是标准规范,是开发的实践标准。对开发者来说语言推荐和,全栈的选择非常多,推荐热门的 前言 在前天(2018-08-02)已经发布了PHP 7.3.0.beta1 Released 如果你还没有使用 PHP7 ,那真的很遗憾。2018年PHP开发者应该熟练使用 PHP7...

    klinson 评论0 收藏0
  • 前端进阶(13) - 搭建自己的前端脚手架

    摘要:搭建自己的前端脚手架一般新开发一个项目时,我们会首先搭建好一个脚手架,然后才会开始写代码。搭建脚手架可以用等命令行工具,也可以直接用等模板,如果这些都不能满足你的个性化需求,可以尝试搭建自己的前端脚手架。 搭建自己的前端脚手架 一般新开发一个项目时,我们会首先搭建好一个脚手架,然后才会开始写代码。搭建脚手架可以用 create-react-app、vue-cli、yeoman 等命令行...

    lykops 评论0 收藏0
  • Javascript 项目常用的一些配置文件

    摘要:引子基本上上优秀的项目上面有很多零零碎碎的文件。其他平台除了,市面上还有其他很多平台,如项目中使用的和等等。利用提供的若干规则,造出一份适合于自己或团队的代码规范配置,同时用规则去忽略文件只是用来纯粹美化代码。 引子 基本上 GitHub 上优秀的javascript项目上面有很多零零碎碎的文件。如图,以koa为例showImg(https://segmentfault.com/img...

    zxhaaa 评论0 收藏0
  • 【easy-invoices】electron-vue、sqlite3 项目初探

    摘要:远程读取会有许多限制,防止引起不必要的安全隐患。比较时可以把点去掉转为数字类型比较脚本执行完毕下载前可以拿到更新日志时间版本号和包大小,下载时可以拿到速度。然后开启该项目的构建。将第一步生成的填至项目环境变量,参数名为。 父母都是做出纳相关的工作,希望我能给他们做个简单的进销存,在上班的时候使用。开发一个不需要花钱买服务器,不需要依赖网络(更新除外),单机版的程序,对于前端出身的我来说...

    wpw 评论0 收藏0
  • Hexo博客迁移之旅(Coding到腾讯云COS)+ Travis CI持续集成

    摘要:博客从迁移到腾讯云最近的服务一直不稳定,这两天访问还出现,重新部署也无法解决。码云自定义域名收费,只好迁移到腾讯云上了。不会配置的可以参考官方示例直接就发布到腾讯云上了,访问速度相当快,对也好。 Hexo博客从Coding迁移到腾讯云COS 最近coding的Pages 服务一直不稳定,这两天访问还出现404,重新部署也无法解决。国内访问GitHub Pages 不是很快,而且百度S...

    blastz 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<