前言

最近在做脚本的说明文档时使用了vuepress这个东西

前端实在是菜,只能随便写写了

正常写完md文件之后推送至github做版本控制

而前端页面的生成则是在本地,部署也是在本地手工进行

一套下来时常写的话是没什么问题的

但是如果说长时间没有更新这个项目

那基本上就忘了怎么操作了

虽然有写部署用shell 但操作起来还是略感繁琐

最近在刷pi4b的时候发现了github的action功能

可以使用这个功能代替手工的发布操作

正文

首先建立一个Git仓库,这里不再赘述

这里我采用了sshkey的形式来进行仓库的操作

生成ssh密钥

ssh-keygen -t rsa -C YourCount@example.com

打开git仓库,添加部署用的私钥

setting->secrets->add new secret

添加权限验证的公钥

setting->deploy keys->add deploy key

至此我们的仓库准备工作就已经完成

编写action发布文件

action->set up a new workflow file

可以看到下方有很多发布模板供我们选择

此次我们自己来进行编写

name: auto publish #发布名称

on:
push: #触发方式
branches:
- master #触发分支 jobs: #脚本内容
build-deploy:
runs-on: ubuntu-latest steps:
- uses: actions/checkout@v1
- run: npm ci
- run: npm install vuepress
- run: npm run build
- run: cp CNAME .vuepress/dist/ #指定gitpage的自定义域名 - name: Deploy
uses: peaceiris/actions-gh-pages@v2.5.0
env:
ACTIONS_DEPLOY_KEY: ${{secrets.publish}} #这里引用的是刚才生成的私钥
PUBLISH_BRANCH: gh-pages #发布到的分支
PUBLISH_DIR: .vuepress/dist #需要发布的内容

至此就算结束了

下面我们每次对master分支的推送都会触发该发布流程

该发布流程会自动构建vuepress项目并把生成的文件发布到当前项目的gh-pages分支下

这样我们就可以专心写代码了

初探CI,Github调戏Action手记——自动构建并发布的更多相关文章

  1. 再探CI,Github调戏Action手记——自动构建并发布到另一仓库

    前言 接上文初探CI,Github调戏Action手记--自动构建并发布 在学习了Action的基本操作之后 接着我们来探索Action其他可能的功能 众所周知 只有用得到的技术学习的才会最快 我也是 ...

  2. Github配合Jenkins,实现vue等前端项目的自动构建与发布

    本篇文章前端项目以vue为例(其实前端工程化项目的操作方法都相同),部署在Linux系统上(centos). 之前做前端项目的部署,一直都是手动运行打包命令,打包完.再使用FTP.Xshell等这类的 ...

  3. 2.使用jenkins自动构建并发布应用到k8s集群

    作者 微信:tangy8080 电子邮箱:914661180@qq.com 更新时间:2019-06-21 14:39:01 星期五 欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程 ...

  4. 实战:向GitHub提交代码时触发Jenkins自动构建

    当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建 ...

  5. 实现自动构建编译javaweb项目并发布到N台服务器

    前言 当你使用nginx实现了负载均衡,当你有了超过3台以上的应用服务器时,一个特别头疼的问题就来了,发布项目好麻烦. 你每次都要在本地编译打包一遍,然后手动复制到每一台服务器上面去,如果只有一两台服 ...

  6. 小伙伴想学Jenkins自动构建发布项目,我:安排上了!!

    写在前面 趁着十一长假,很多小伙伴都在悄悄学习,有些是为了能够顺利通过面试,进入大厂升职加薪.有些则是为了进一步巩固和提高自己的专业技能,希望有朝一日能过成为互联网架构师乃至技术专家.这不,就有小伙伴 ...

  7. 解放双手——Android的自动化构建及发布

    在一个App从开发到测试的过程中,我有很长一段时间都是这样做的:打包,上传到tower,在tower上编写本次更新说明,通知测试.一般情况下,打包及上传的过程大概也就2分钟.除此之外,由于项目代码有作 ...

  8. hexo配合github action 自动构建(多种形式)

    已经使用HEXO正常构建GitHub页面 根据github action 给hexo配置自动部署github page 前往墨抒颖的个人网站查看纯净版 1. 为仓库设置访问密钥 第一步先生成密钥,打开 ...

  9. GitHub搭配使用Travis CI 进行自动构建服务

    Travis CI (Continuous Integration)持续集成服务 用处:自动监控软件仓库,可以在代码提交后立刻执行自动测试或构建 1.在Github自己的仓库根目录里添加.travis ...

随机推荐

  1. HTML每日学习笔记(2)

    7.16.2019 1.html表单:用于得到用户不同类型的输入 <form>元素定义表单: <form> First name:<br> <input ty ...

  2. F版本SpringCloud1—大白话为啥要有微服务?啥是微服务?SpringCloud为什么有那么多组件?

    前言 为什么要有微服务呢? 什么是微服务? SpringCloud 中为什么会有那么多的组件? ...... 作为SpringCloud教程的第一篇,不讲解具体的技术使用,通过一个通俗易懂的小故事,来 ...

  3. div或者p标签单行和多行超出显示省略号

    单行文本溢出显示省略号 overflow: hidden;text-overflow:ellipsis;white-space: nowrap;多行文本显示省略号 display: -webkit-b ...

  4. python如何通过正则表达式一次性提取到一串字符中所有的汉字

    1.python如何通过正则表达式一次性提取到一串字符中所有的汉字 https://blog.csdn.net/py0312/article/details/93999895 说明:字符串前的 “ r ...

  5. 目标检测 | 经典算法 Cascade R-CNN: Delving into High Quality Object Detection

    作者从detector的overfitting at training/quality mismatch at inference问题入手,提出了基于multi-stage的Cascade R-CNN ...

  6. python使用argparse 、paramiko实现服务器管理器

    使用argparse,paramiko两个包去实现简易的服务器管理器,完成两种方式的连接( 密码和密钥 ),以及命令行交互,文件上传下载. 相比sys.argv的方式去判断传入的参数,如果参数较多那么 ...

  7. Spring----注释----开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别

    来源:http://www.cnblogs.com/leiOOlei/p/3713989.html <context:annotation-config> 和 <context:co ...

  8. 给Linux命令设置别名的几个步骤

    1.查看系统中的别名 alias 2.临时更改别名 alias rm='command not found.' 3.永久更改别名 vim /etc/profile ---> 最后一行添加 ali ...

  9. 10行Python代码计算汽车数量

    当你还是个孩子坐车旅行的时候,你玩过数经过的汽车的数目的游戏吗? 在这篇文章中,我将教你如何使用10行Python代码构建自己的汽车计数程序. 以下是环境及相应的版本库: Python版本 3.6.9 ...

  10. AC自动机(初步学习)

    一开始讲AC自动机就是在字典树上做一个KMP,吓得我感觉好难,不过了解了以后,感觉也就是有点难度,不吓人. 它只是在字典树上用了KMP的思想 典型问题:给n个模式串和一个文本串,问有多少个模式串在文本 ...