We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
本文为博客迁移过来,原文链接: 用github actions部署你的应用(hexo):2019-12-23
之前github pages 一直都是用 travis-ci 部署的,除了慢一点没什么毛病,所以一直没有转向Github Actions的念头。 但是最近又重新买了个服务器,正好趁这个时间学一下 Actions,Actions对比travis有个很大的亮点就是他的生态很好,你要用什么插件搜一下直接就可以用了,减少很多工作。
因为我们构建完需要Push到仓库,所以得有个 Github access token,可以直接点进链接申请,勾选repo的选项 ,然后点击生成Token,这时候先别关闭页面,后面要用到这个token。
进入要部署的项目的setting,左边有个导航进 secrets,在这里生成Actions需要用到的所有秘钥,只要你觉得有隐私的或者需要保密的全都在这里定义字段,然后配置文件直接使用就好。
我的Secrets总共有四个,如果只是部署到 github pages的话,你只需要token一个就够了
点击项目顶部导航进入 Actions,随便点一个模板进去,或者直接 set up workflow yourself新建一个新的
set up workflow yourself
我的workflow基本就是搬 travis 的,按照github actions的格式改了下而已。
大概流程是: 拉取代码,初始化环境,生成静态资源,推送到目标仓库 或 部署到目标服务器
name: Blog deployer # 当前workflow的名字 # 触发的时机 当 master 分支有 push 的操作时执行 on: push: branches: - master jobs: # jobs一般都是并行执行 build: name: Build and publish runs-on: ubuntu-latest # 运行环境 steps: # 使用 actions/checkout 这个插件 用于拉取当前仓库的master分支 - uses: actions/checkout@master # 使用 actions/setup-node@v1 插件配置node环境 - name: Use Node.js 10.x uses: actions/setup-node@v1 with: node-version: 10.x # 安装 hexo-cli 与项目所需的 node_modules - name: Setup Hexo env run: | npm install hexo-cli -g npm install # 生成静态资源 - name: Generate public files run: | hexo clean hexo g # 部署到 Github Pages 这里没有用到 hexo的 Deploy - name: Deploy To Github Pages env: GH_REF: github.com/jsonz1993/jsonz1993.github.io run: | # 配置本地git git config --global user.name "Jsonz1993" git config --global user.email "[email protected]" # 生成 commit message 默认抓取最后一次提交信息 git log --pretty=format:"CI: %s" --date=short -n 1 > commit-message.log git clone https://${GH_REF} .deploy_git cd .deploy_git git checkout master cd ../ mv .deploy_git/.git/ ./public/ cd ./public/ git add . git commit -F ../commit-message.log git push --force --quiet "https://${{ secrets.token }}/@${GH_REF}" master:master # 部署到自己的服务器 - name: Deploy to Private Server uses: appleboy/ssh-action@master with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.SSH_PRIVATE }} script: | cd ${{ secrets.SERVER_PATH }} && git pull
使用 GitHub 操作自动化工作流程
阮一峰 Github Actions
The text was updated successfully, but these errors were encountered:
No branches or pull requests
之前github pages 一直都是用 travis-ci 部署的,除了慢一点没什么毛病,所以一直没有转向Github Actions的念头。
但是最近又重新买了个服务器,正好趁这个时间学一下 Actions,Actions对比travis有个很大的亮点就是他的生态很好,你要用什么插件搜一下直接就可以用了,减少很多工作。
access token
因为我们构建完需要Push到仓库,所以得有个 Github access token,可以直接点进链接申请,勾选repo的选项 ,然后点击生成Token,这时候先别关闭页面,后面要用到这个token。
secrets
进入要部署的项目的setting,左边有个导航进 secrets,在这里生成Actions需要用到的所有秘钥,只要你觉得有隐私的或者需要保密的全都在这里定义字段,然后配置文件直接使用就好。
我的Secrets总共有四个,如果只是部署到 github pages的话,你只需要token一个就够了
Action workflow
点击项目顶部导航进入 Actions,随便点一个模板进去,或者直接
set up workflow yourself
新建一个新的我的workflow基本就是搬 travis 的,按照github actions的格式改了下而已。
大概流程是: 拉取代码,初始化环境,生成静态资源,推送到目标仓库 或 部署到目标服务器
使用 GitHub 操作自动化工作流程
阮一峰 Github Actions
The text was updated successfully, but these errors were encountered: