Hexo+coding实现自动化部署
前言
昨天写了一篇利于云环境写博客,但是让群里大佬们看了下。评论道:“写的不错,但还是觉得这个云环境太繁琐了,没有CI/CD自动化部署方便”。于是我便百度查了下,网上文章大部分是通过Travis CI整的,但我的源文件在coding呀!于是我便尝试了使用coding自动化部署。
为什么要使用自动部署呢?
因为随着我们的长时间写文章,生成时间也就更长。在加上要加载插件。如果你换一个电脑更明显,首先你要安装node环境然后······
自动部署只需要把你的源代码提交,云会自动帮你执行编译过程,从而省去了自己编译的过程。
1. 创建访问认证
如图,创建令牌,然后描述随便写,全写给project:depot
即可,不然没办法拉去仓库。创建完成后会出现id,我们复制这个id并保存下来,因为只出现一次。
在此时我们就拿到了访问项目的账号和密码。此时我们的访问地址变成了https://user.name:user.password@项目地址
举个简单的例子:
假如说我的
- 令牌用户名是:
root
- 令牌密码是:
abcdefg
- 项目地址是
https://e.coding.net/test/test.git
那么我们的访问地址就是https://root:abcdefg@e.coding.net/test/test.git
也就是https://user.name:user.password@地址
这样的格式。
编写构建
如果你没有构建功能,请到左下角项目设置->项目与成员->功能开关 将构建与部署的功能打开。
如图 点击构建,再点击下边的 新建构建计划配置
然后我们我们的代码源选择CODING,仓库只有一种选择。
配置来源选择自定义,勾选下边的前往配置详情。然后选择文本编辑器
将下边的代码复制上去。注意修改你自己的git地址。注意sh 'git clone https://账号:密码@地址 .'
最后边的.
千万别删掉。删掉可能导致发布不成功。(虽然提示成功)
pipeline {
agent {
label 'node-10'
}
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'
}
}
}
}
为什么不能删那个点.
?
那个点代表当前目录,也就是把你的项目克隆到当前文件。
然后我们点击左上角的保存。
上传
我们新建一篇文章,我本人呢是边写这篇文章边测试的。所以当这篇文章发表出来的时候也就说明自动部署成功了。
我们进行简单的文章推送。这里我使用的是git小乌龟。
推送成功后coding的自动部署已经在运行了
常见问题
- 请确保你的pages项目仓库是公开的,否则请同样配置访问密钥,并修改hexo根目录下的配置文件。
如果你的pages服务在coding,并且仓库是私有的,那么请添加项目令牌。并替换博客根目录的地址。
然后替换博客根目录下 配置文件中的git地址。
同样的地址也是https://username:password@项目地址
假如说我的
- 令牌用户名是:
root
- 令牌密码是:
abcdefg
- 项目地址是
https://e.coding.net/test/test.git
那么在配置文件中的地址就是https://root:abcdefg@e.coding.net/test/test.git
最后,如果我的文章对你有帮助,那么你可以点下边的赞赏按钮,请作者喝杯咖啡哦!
如果图片失效请在下方留言,或联系作者。
本文来自小康博客(https://www.antmoe.com/)
原创不易,所有文字及图片都是我自己一个一个弄得。
搬砖党请尊重一下作者,转载请标明出处。
Hexo+coding实现自动化部署的更多相关文章
- 利用Travis IC实现Hexo博客自动化部署
1.Hexo博客的利与弊 Hexo中文 我就默认为看到这篇文章的人都比较了解Hexo博客,也都能够成功手动部署吧.所以第一部分推荐两篇文章一笔带过,让我们快速进入本文的重点内容.实在不知道也不要方先看 ...
- 博客 | 基于Travis CI实现Hexo在Github和Coding的同步自动化部署
文章目录 完成Hexo主题安装和配置 基于Travis CI实现同步部署 参考内容 相关链接 待补充 完成Hexo主题安装和配置 如果您还没有安装Hexo环境,请参考Hexo文档安装,也给出这样两篇博 ...
- 【Hexo】使用Hexo+github pages+travis ci 实现自动化部署
目录 一.说明 二.成品展示 三.前期准备 本地安装 node.js 本地安装 git github 账号 创建仓库 travis ci 账号 四.安装 Hexo 五.使用 hexo 搭建博客 六.部 ...
- 基于Travis CI实现 Gitbook在 Github 和 Coding 的同步部署
前言 最近发现自己的博客在使用vpn的情况下打开很慢,百度站点也抓取失败,于是将自己的博客借助hexo-deploy 插件很容易同步部署到了coding上.只需要在你的hexo配置文件_config. ...
- python+paramiko库+svn写的自动化部署脚本
第一篇博文 直接开门见山的说了. 这是件什么事?:每次部署都是复制本地的文件粘贴到服务器端,因为路径复杂,所以费时且手工容易出漏洞. 一直在想有什么办法可以解决这种,因为以前在微软的一个牛人同事做过一 ...
- Jenkins持续集成-自动化部署脚本的实现
要实现Jenkins端的持续集成,其实在CI服务配置端很容易,难点呢?就是如何实现自动化的部署.我的脚本设计就是为了解决以下难题: 难点一.如何使得自动化部署脚本更通用 我用的脚本,依赖依赖一个配置文 ...
- Jenkins自动化部署-----持续交付【转】
感谢之前带领过我的leader,让我能够知道什么是好的开发方法. 在很早之前就接触过敏捷开发.什么是敏捷开发,简单来说就是让软件可靠地,快速地发布出来的一种开发方法和技巧. 而敏捷开发中有许多的实践, ...
- 《转载》Jenkins持续集成-自动化部署脚本的实现《python》
本文转载自慕课网 读者须知:1.本手记本着记续接前面的两张手记内容整理2.本手记针对tomcat部署测试环境实现 最近工作比较繁忙,导致这章一直拖延,没有太抽出时间来总结.要实现Jenkins端的持续 ...
- 使用hexo+coding搭建免费个人博客
1.检测node和npm 先检测一下有没有node.js和npm $ node -v //如果有,说明node.js安装成功! $ node -v v8.4.0 //如果有,说明npm安装成功! $n ...
随机推荐
- ArrayList数组扩容方式(基于jdk1.8)
ArrayList无参构造函数为: public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; } 而DEFA ...
- [LINQ2Dapper]最完整Dapper To Linq框架(八)---导航属性
目录 [LINQ2Dapper]最完整Dapper To Linq框架(一)---基础查询 [LINQ2Dapper]最完整Dapper To Linq框架(二)---动态化查询 [LINQ2Dapp ...
- 深入浅出 Viewport 设计原理
Viewport 是 HTML5 针对移动端开发新增的一个 meta 属性, 它的作用是为同一网页在不同设备的呈现,提供响应式解决方案.这篇文章尝试通过循序渐进的方式,逐层探索 Viewport 的设 ...
- Ubuntu 18.04 64位安装tensorflow-gpu
第一步(可直接跳到第二步):安装nvidia显卡驱动 linux用户可以通过官方ppa解决安装GPU驱动的问题.使用如下命令添加Graphic Drivers PPA: 1 sudo add-apt- ...
- $vjudge\ CSP-S$专题专练题解
照例先放个链接$QwQ$ $A$ $QwQ$之前写过题解辣. 重新说下趴,就给横坐标纵坐标也开点,然后每个点连向对应横纵坐标边权为$0$,相邻横坐标点之间连边,相邻纵坐标点之间连边,跑个最短路就完事$ ...
- DRF框架中分页功能接口
目录 DRF框架中分页功能接口 DRF框架中分页功能接口 一.在框架中提供来三个类来实现分页功能,PageNumberPagination.LimitOffsetPagination.CursorPa ...
- ASP.NET Core Web程序托管到Windows 服务
前言 在 .NET Core 3.1和WorkerServices构建Windows服务 我们也看到了,如何将workerservices构建成服务,那么本篇文章我们再来看看如何将web应用程序托管到 ...
- 记一次docker镜像导出导入流程
目标:导出测试环境的镜像到本地机器 过程: 测试机: docker save -o /Dockerfile/crontabService/php72.tar lnmp72:v1.4 压缩,要不文件太大 ...
- 通过模拟Mybatis动态代理生成Mapper代理类,讲解Mybatis核心原理
本文将通过模拟Mybatis动态代理生成Mapper代理类,讲解Mybatis原理 1.平常我们是如何使用Mapper的 先写一个简单的UserMapper,它包含一个全表查询的方法,代码如下 pub ...
- K8S基于ingress-nginx实现灰度发布
之前介绍过使用ambassador实现灰度发布,今天介绍如何使用ingre-nginx实现. 介绍 Ingress-Nginx 是一个K8S ingress工具,支持配置 Ingress Annota ...