使用Github-Action持续部署Springboot或vue
GitHub Actions 是 GitHub 提供的一项持续集成 (CI) 和持续部署 (CD) 服务。它允许你在代码仓库中定义和运行自动化的工作流程,以响应存储库中的事件或调度。GitHub Actions 可以用于构建、测试、打包和部署项目,也可以执行其他自动化任务。
详细github action相关信息请看最底部
第一步需要先配置secrets,保证我们的服务器信息不暴露
GitHub Actions 中的 secrets 和 variables 都是用于存储和访问敏感信息或配置的机制
因为我的服务器用的宝塔面板环境,加上构建出来的包和文件并不是很大,所以使用的方式是先在github action的环境构建打包,然后将包发送到目标服务器。你也可以在github action里让目标服务器执行命令去做git,构建,部署,启动等等相关的
Springboot
1 |
|
Vue
1 |
|
常见的 GitHub Actions YAML 语法和关键概念
GitHub Actions 使用 YAML 文件来定义工作流程。以下是一些常见的 GitHub Actions YAML 语法和关键概念:
工作流程(Workflow)的定义:
1 |
|
name
: 工作流程的名称。on
: 触发工作流程的事件,例如push
到特定分支。jobs
: 包含一个或多个任务的部分。
任务(Job)的定义:
1 |
|
runs-on
: 指定任务运行的操作系统和环境。steps
: 包含一个或多个步骤的列表。
步骤(Steps)的定义:
1 |
|
name
: 步骤的名称。run
: 执行的命令或脚本。uses
: 使用的动作(可以是内置动作或自定义动作)。with
: 传递给动作的参数。
触发器(Trigger)的定义:
1 |
|
on
: 触发工作流程的事件。push
: 代码推送事件。pull_request
: 合并请求事件。
环境变量(Environment Variables)的定义:
1 |
|
env
: 定义任务运行时的环境变量。
Secrets 和 Variables
使用 Secrets:
GitHub Actions 的 secrets 是用于存储敏感信息,例如 API 密钥、访问令牌等。这些 secrets 可以被工作流程中的步骤引用,但它们是加密的,并且只有在运行工作流程时才会暴露给步骤。
在 GitHub 存储库中创建 secret:
- 转到 GitHub 存储库的页面。
- 在存储库顶部导航栏中,点击 “Settings”。
- 在左侧边栏中,选择 “Secrets”。
- 点击 “New repository secret”,然后输入 secret 名称和值。
在工作流程中使用 secret:
1
2
3
4
5
6jobs:
my_job:
runs-on: ubuntu-latest
steps:
- name: Use secret
run: echo ${{ secrets.MY_SECRET }}
这里 MY_SECRET
是你创建的 secret 的名称,可以在步骤中使用 ${{ secrets.MY_SECRET }}
引用它。
使用 Variables:
GitHub Actions 的 variables 是由 GitHub 提供的一组默认环境变量,同时你也可以定义自己的环境变量。这些变量可以在工作流程的任何步骤中使用。
在工作流程中使用 GitHub 提供的 variables:
1
2
3
4
5
6jobs:
my_job:
runs-on: ubuntu-latest
steps:
- name: Use GitHub-provided variable
run: echo ${{ github.event_name }}这里的
github.event_name
是 GitHub 提供的一个默认变量,表示触发工作流程的事件的名称。在工作流程中定义自己的 variables:
1
2
3
4
5
6
7
8jobs:
my_job:
runs-on: ubuntu-latest
env:
MY_VARIABLE: my_value
steps:
- name: Use custom variable
run: echo $MY_VARIABLE
在 env
部分定义自己的环境变量,然后在步骤中使用 $MY_VARIABLE
引用它。
注意:GitHub Actions 中的环境变量(包括 secrets 和 variables)在步骤中的引用方式使用 ${{ ... }}
语法。此外,secrets 只能在工作流程的同一存储库中使用,而 variables 则可以在不同存储库的工作流程中共享。