Skip to content

Commit

Permalink
feat:添加act_runner到列表1Panel-dev#173
Browse files Browse the repository at this point in the history
  • Loading branch information
okxlin committed Nov 16, 2023
1 parent 268d77e commit a444658
Show file tree
Hide file tree
Showing 9 changed files with 260 additions and 0 deletions.
6 changes: 6 additions & 0 deletions apps/act_runner/0.2.6/.env.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CONTAINER_NAME="act_runner"
DATA_PATH="./data"
GITEA_INSTANCE_URL="http://1.2.3.4:567"
RUNNER_REGISTRATION_TOKEN="xxx"
RUNNER_NAME="xxx"
RUNNER_LABELS="xxx"
37 changes: 37 additions & 0 deletions apps/act_runner/0.2.6/data.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
additionalProperties:
formFields:
- default: ./data
edit: true
envKey: DATA_PATH
labelEn: Data folder path
labelZh: 数据文件夹路径
required: true
type: text
- default: http://1.2.3.4:567
edit: true
envKey: GITEA_INSTANCE_URL
labelEn: Gitea instance URL
labelZh: Gitea 实例 URL
required: true
type: text
- default: ''
edit: true
envKey: RUNNER_REGISTRATION_TOKEN
labelEn: Gitea runner REGISTRATION TOKEN
labelZh: Gitea runner REGISTRATION TOKEN
required: true
type: text
- default: ''
edit: true
envKey: RUNNER_NAME
labelEn: Gitea runner name
labelZh: Gitea runner name
required: true
type: text
- default: ''
edit: true
envKey: RUNNER_LABELS
labelEn: Gitea runner labels
labelZh: Gitea runner labels
required: true
type: text
24 changes: 24 additions & 0 deletions apps/act_runner/0.2.6/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
version: '3'
services:
act_runner:
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
volumes:
#- ${DATA_PATH}/config.yaml:/config.yaml # 可选配置
- ${DATA_PATH}/data:/data
- /var/run/docker.sock:/var/run/docker.sock
environment:
#- CONFIG_FILE=/config.yaml
- GITEA_INSTANCE_URL=${GITEA_INSTANCE_URL}
- GITEA_RUNNER_REGISTRATION_TOKEN=${RUNNER_REGISTRATION_TOKEN}
- GITEA_RUNNER_NAME=${RUNNER_NAME}
- GITEA_RUNNER_LABELS=${RUNNER_LABELS}
image: gitea/act_runner:0.2.6
labels:
createdBy: "Apps"

networks:
1panel-network:
external: true
106 changes: 106 additions & 0 deletions apps/act_runner/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# act runner

Act runner is a runner for Gitea based on [Gitea fork](https://gitea.com/gitea/act) of [act](https://github.com/nektos/act).

## Installation

### Prerequisites

Docker Engine Community version is required for docker mode. To install Docker CE, follow the official [install instructions](https://docs.docker.com/engine/install/).

### Download pre-built binary

Visit [here](https://dl.gitea.com/act_runner/) and download the right version for your platform.

### Build from source

```bash
make build
```

### Build a docker image

```bash
make docker
```

## Quickstart

Actions are disabled by default, so you need to add the following to the configuration file of your Gitea instance to enable it:

```ini
[actions]
ENABLED=true
```

### Register

```bash
./act_runner register
```

And you will be asked to input:

1. Gitea instance URL, like `http://192.168.8.8:3000/`. You should use your gitea instance ROOT_URL as the instance argument
and you should not use `localhost` or `127.0.0.1` as instance IP;
2. Runner token, you can get it from `http://192.168.8.8:3000/admin/actions/runners`;
3. Runner name, you can just leave it blank;
4. Runner labels, you can just leave it blank.

The process looks like:

```text
INFO Registering runner, arch=amd64, os=darwin, version=0.1.5.
WARN Runner in user-mode.
INFO Enter the Gitea instance URL (for example, https://gitea.com/):
http://192.168.8.8:3000/
INFO Enter the runner token:
fe884e8027dc292970d4e0303fe82b14xxxxxxxx
INFO Enter the runner name (if set empty, use hostname: Test.local):
INFO Enter the runner labels, leave blank to use the default labels (comma-separated, for example, ubuntu-20.04:docker://node:16-bullseye,ubuntu-18.04:docker://node:16-buster,linux_arm:host):
INFO Registering runner, name=Test.local, instance=http://192.168.8.8:3000/, labels=[ubuntu-latest:docker://node:16-bullseye ubuntu-22.04:docker://node:16-bullseye ubuntu-20.04:docker://node:16-bullseye ubuntu-18.04:docker://node:16-buster].
DEBU Successfully pinged the Gitea instance server
INFO Runner registered successfully.
```

You can also register with command line arguments.

```bash
./act_runner register --instance http://192.168.8.8:3000 --token <my_runner_token> --no-interactive
```

If the registry succeed, it will run immediately. Next time, you could run the runner directly.

### Run

```bash
./act_runner daemon
```

### Run with docker

```bash
docker run -e GITEA_INSTANCE_URL=https://your_gitea.com -e GITEA_RUNNER_REGISTRATION_TOKEN=<your_token> -v /var/run/docker.sock:/var/run/docker.sock --name my_runner gitea/act_runner:nightly
```

### Configuration

You can also configure the runner with a configuration file.
The configuration file is a YAML file, you can generate a sample configuration file with `./act_runner generate-config`.

```bash
./act_runner generate-config > config.yaml
```

You can specify the configuration file path with `-c`/`--config` argument.

```bash
./act_runner -c config.yaml register # register with config file
./act_runner -c config.yaml daemon # run with config file
```

### Example Deployments

Check out the [examples](examples) directory for sample deployment types.
20 changes: 20 additions & 0 deletions apps/act_runner/data.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Act runner
tags:
- CI/CD
title: Gitea Actions 的 Runner
type: CI/CD
description: Gitea Actions 的 Runner
additionalProperties:
key: act_runner
name: Act runner
tags:
- CI/CD
shortDescZh: Gitea Actions 的 Runner
shortDescEn: A runner for Gitea based on Gitea fork of act
type: tool
crossVersionUpdate: true
limit: 0
recommend: 0
website: https://gitea.com/gitea/act_runner
github: https://gitea.com/gitea/act_runner
document: https://docs.gitea.com/next/usage/actions/act-runner
6 changes: 6 additions & 0 deletions apps/act_runner/latest/.env.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
CONTAINER_NAME="act_runner"
DATA_PATH="./data"
GITEA_INSTANCE_URL="http://1.2.3.4:567"
RUNNER_REGISTRATION_TOKEN="xxx"
RUNNER_NAME="xxx"
RUNNER_LABELS="xxx"
37 changes: 37 additions & 0 deletions apps/act_runner/latest/data.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
additionalProperties:
formFields:
- default: ./data
edit: true
envKey: DATA_PATH
labelEn: Data folder path
labelZh: 数据文件夹路径
required: true
type: text
- default: http://1.2.3.4:567
edit: true
envKey: GITEA_INSTANCE_URL
labelEn: Gitea instance URL
labelZh: Gitea 实例 URL
required: true
type: text
- default: ''
edit: true
envKey: RUNNER_REGISTRATION_TOKEN
labelEn: Gitea runner REGISTRATION TOKEN
labelZh: Gitea runner REGISTRATION TOKEN
required: true
type: text
- default: ''
edit: true
envKey: RUNNER_NAME
labelEn: Gitea runner name
labelZh: Gitea runner name
required: true
type: text
- default: ''
edit: true
envKey: RUNNER_LABELS
labelEn: Gitea runner labels
labelZh: Gitea runner labels
required: true
type: text
24 changes: 24 additions & 0 deletions apps/act_runner/latest/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
version: '3'
services:
act_runner:
container_name: ${CONTAINER_NAME}
restart: always
networks:
- 1panel-network
volumes:
#- ${DATA_PATH}/config.yaml:/config.yaml # 可选配置
- ${DATA_PATH}/data:/data
- /var/run/docker.sock:/var/run/docker.sock
environment:
#- CONFIG_FILE=/config.yaml
- GITEA_INSTANCE_URL=${GITEA_INSTANCE_URL}
- GITEA_RUNNER_REGISTRATION_TOKEN=${RUNNER_REGISTRATION_TOKEN}
- GITEA_RUNNER_NAME=${RUNNER_NAME}
- GITEA_RUNNER_LABELS=${RUNNER_LABELS}
image: gitea/act_runner:latest
labels:
createdBy: "Apps"

networks:
1panel-network:
external: true
Binary file added apps/act_runner/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit a444658

Please sign in to comment.