Leaderboard-App 开源项目教程
1. 项目的目录结构及介绍
Leaderboard-App 项目的目录结构如下:
leaderboard-app/
├── docs/
│ ├── github-sub/
│ ├── leaderboard-page/
│ ├── leaderboard/
│ └── sql/
├── DEREK.yml
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── pub-cert.pem
├── secrets.yml
└── stack.yml
目录结构介绍
- docs/: 包含项目的文档文件,如
github-sub
、leaderboard-page
、leaderboard
和sql
等子目录。 - DEREK.yml: 项目自动化工具的配置文件。
- .gitignore: Git 忽略文件配置。
- CONTRIBUTING.md: 贡献指南文件。
- LICENSE: 项目许可证文件。
- README.md: 项目介绍和使用说明文件。
- pub-cert.pem: 公钥证书文件。
- secrets.yml: 项目配置的密钥文件。
- stack.yml: 项目部署的配置文件。
2. 项目的启动文件介绍
Leaderboard-App 项目的启动文件主要包括以下几个部分:
2.1 stack.yml
stack.yml
是项目的部署配置文件,定义了项目的各个服务和函数。以下是该文件的部分内容:
functions:
github-sub:
lang: golang-middleware
handler: ./github-sub
image: alexellis/leaderboard-github-sub:latest
leaderboard:
lang: golang-middleware
handler: ./leaderboard
image: alexellis/leaderboard:latest
leaderboard-page:
lang: node8-express
handler: ./leaderboard-page
image: alexellis/leaderboard-page:latest
2.2 README.md
README.md
是项目的介绍和使用说明文件,包含了项目的概述、安装步骤、使用方法等信息。以下是该文件的部分内容:
# leaderboard-app - a serverless application
This application is an example of how to write a Single Page App (SPA) with a Serverless approach.
## Getting Started
1. Clone the repository:
```bash
git clone https://github.com/alexellis/leaderboard-app.git
-
Install dependencies:
cd leaderboard-app faas-cli template store pull node8-express faas-cli template store pull golang-middleware
-
Deploy the application:
faas-cli deploy -f stack.yml
## 3. 项目的配置文件介绍
### 3.1 `secrets.yml`
`secrets.yml` 是项目的密钥配置文件,用于存储敏感信息,如数据库连接信息、Webhook 密钥等。以下是该文件的部分内容:
```yaml
secrets:
- name: teamserverless-leaderboard-app-secrets
literal:
password: "$PASS"
username: "$USER"
host: "$HOST"
webhook-secret: "$[WEBHOOK]"
3.2 stack.yml
stack.yml
是项目的部署配置文件,定义了项目的各个服务和函数。以下是该文件的部分内容:
provider:
name: openfaas
gateway: http://127.0.0.1:8080
functions:
github-sub:
lang: golang-middleware
handler: ./github-sub
image: alexellis/leaderboard-github-sub:latest
secrets:
- github-sub-secret
leaderboard:
lang: golang-middleware
handler: ./leaderboard
image: alexellis/leaderboard:latest
secrets:
- leaderboard-secret
leaderboard-page:
lang: node8-express
handler: ./leaderboard-page
image: alexellis/leaderboard-page:latest
secrets:
- leaderboard-page-secret
通过以上配置文件,可以实现项目的部署和运行。