赞
踩
大家好啊,我是独立开发豆小匠。
先说一下背景~
我的小程序:豆流便签,目前使用云托管部署后端服务,使用轻量级服务器部署数据库和一些中间件。
因此服务器成本:云托管 + 云服务器
云托管每周花费5元,一个月就是50,一年就是500啊,所以这期准备把云托管优化掉!
使用云托管的好处是很明显的,可以推送代码后自动化部署。如果转移到云服务器,怎么延续自动化部署的开发体验咧,主要的需求如下:
其中第2、3点都是云托管有的功能,第1点云托管也可以做到。但是,得加钱!也就是多开一个服务。
实现主要依赖于GitHub提供的Action workflow工作流和Nginx的自动分发、故障转移。
简单介绍下Github Action,它允许通过配置文件来自动构建、测试和部署项目等。
我们本次编写deploy.yml
文件定义一个自动化部署的工作流,实现的效果:推送master/test分支到GitHub后,连接云服务器,执行部署脚本。
首先在项目根目录创建文件夹.github/workflows
,然后新建文件deploy.yml
,文件内容如下
name: Build and Deploy on: push: branches: [master] # 触发任务的分支 jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 - name: Build and run Go program uses: appleboy/ssh-action@master with: host: ${ { secrets.HOST_MILK }} # 服务器地址 @1 username: ${ { secrets.HOST_ROLE }} # 登陆用户名 @2 key: ${
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。