利用GitHub Actions进行自动化部署
发布时间: 2024-05-01 04:53:07 阅读量: 70 订阅数: 69
ML-CICD-GitHubActions:您可以使用GitHub Actions将构建,测试,交付或部署机器学习模型到生产中的过程自动化
![利用GitHub Actions进行自动化部署](https://img-blog.csdnimg.cn/49cf7ccf3a1c40e0b9e2d169c310d222.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_100,text_Q1NETiBA55m95LiO56eL,size_30,color_FFFFFF,t_70,g_se,x_16)
# 2.1 创建和配置GitHub Actions工作流
GitHub Actions工作流是定义一系列在特定事件触发时自动执行的任务的配置文件。要创建工作流,请在项目存储库的`.github/workflows`目录中创建一个YAML文件。
YAML文件包含工作流的元数据,包括名称、触发事件、使用的作业以及作业中的步骤。例如,以下YAML文件定义了一个在每次推送代码到主分支时触发的工作流:
```yaml
name: CI/CD
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14
- run: npm install
- run: npm run build
```
在该工作流中,`build`作业在`ubuntu-latest`虚拟机上运行,并包含以下步骤:
* 签出代码库
* 设置Node.js环境
* 安装依赖项
* 构建应用程序
# 2. GitHub Actions基础实践
### 2.1 创建和配置GitHub Actions工作流
GitHub Actions工作流是定义一组在GitHub上触发特定事件时自动执行的任务的自动化脚本。要创建工作流,需要创建一个`.github/workflows`目录并添加一个`.yml`文件。
```yaml
name: CI/CD
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16'
- run: npm install
- run: npm run build
```
**参数说明:**
* `name`: 工作流的名称。
* `on`: 触发工作流的事件,此处为推送到`main`分支或创建拉取请求。
* `jobs`: 定义工作流中的作业,此处只有一个名为`build`的作业。
* `runs-on`: 指定作业运行的环境,此处为`ubuntu-latest`。
* `steps`: 定义作业中执行的任务,此处包括:
* 检出代码库。
* 设置Node.js环境。
* 安装依赖项。
* 构建项目。
### 2.2 使用GitHub Actions进行代码构建和测试
GitHub Actions提供了多种用于构建和测试代码的预定义操作。这些操作可以简化常见任务,例如:
* **构建:**
* `actions/checkout`:检出代码库。
* `actions/setup-node`:设置Node.js环境。
* `actions/build-docker`:构建Docker镜像。
* **测试:**
* `actions/run-tests`:运行单元测试。
* `actions/test-markdown`:测试Markdown文件。
* `actions/test-javascript`:测试JavaScript代码。
**代码示例:**
```yaml
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16'
- run: npm install
- run
```
0
0