Helm GitHub Action 项目使用教程
helm GitHub action for deploying Helm charts. 项目地址: https://gitcode.com/gh_mirrors/helm35/helm
1. 项目目录结构及介绍
本项目是基于GitHub Actions的一个开源项目,用于部署Helm图表。以下是项目的目录结构及其说明:
.github/
: 存放GitHub Actions的工作流文件。charts/
: 包含Helm图表的目录。app/
: 内置的Helm图表。
node_modules/
: 项目依赖的Node.js模块。tests/
: 项目的测试文件。CHANGELOG.md
: 记录了项目的历史更新和修改。Dockerfile
: 用于构建Docker镜像的文件。LICENSE
: 项目的许可证文件。README.md
: 项目说明文件。action.yml
: 定义GitHub Action的配置文件。index.js
: 主JavaScript文件,包含Action的逻辑。package-lock.json
: 记录了项目依赖的确切版本。package.json
: 项目的Node.js包描述文件。
2. 项目的启动文件介绍
项目的启动文件是index.js
,它定义了GitHub Action的执行逻辑。当Action触发时,该文件会被执行,并根据配置参数以及触发事件(如部署事件)来执行相应的Helm操作。
3. 项目的配置文件介绍
项目的配置文件主要包括以下两个:
action.yml
: 此文件定义了GitHub Action的界面和参数。用户在使用Action时可以通过这个文件提供的参数来自定义部署行为。例如,可以指定Helm发布名称、命名空间、图表路径、版本、值文件等。- 工作流配置文件:位于
.github/workflows/
目录中,例如deploy.yml
。这些文件定义了触发GitHub Action的条件、运行的作业以及每个作业的步骤。用户可以在这里配置部署的细节,如触发事件、运行环境、使用的密钥等。
以下是配置文件的一个示例:
name: Deploy
on: ['deployment']
jobs:
deployment:
runs-on: 'ubuntu-latest'
steps:
- uses: actions/checkout@v1
- name: Deploy
uses: deliverybot/helm@v1
with:
release: 'nginx'
namespace: 'default'
chart: 'app'
token: '${{ github.token }}'
values: |
name: foobar
env:
KUBECONFIG_FILE: '${{ secrets.KUBECONFIG }}'
在这个配置文件中,我们定义了一个名为Deploy
的作业,当有部署事件发生时,它会运行。作业会使用deliverybot/helm@v1
这个Action,并传入必要的参数,如发布名称、命名空间、图表路径等。同时,我们还配置了环境变量,以便Action可以访问Kubernetes集群。
helm GitHub action for deploying Helm charts. 项目地址: https://gitcode.com/gh_mirrors/helm35/helm