diff --git a/apps/act_runner/0.2.6/.env.sample b/apps/act_runner/0.2.6/.env.sample new file mode 100644 index 00000000..dfe219c0 --- /dev/null +++ b/apps/act_runner/0.2.6/.env.sample @@ -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" diff --git a/apps/act_runner/0.2.6/data.yml b/apps/act_runner/0.2.6/data.yml new file mode 100644 index 00000000..44ac8333 --- /dev/null +++ b/apps/act_runner/0.2.6/data.yml @@ -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 diff --git a/apps/act_runner/0.2.6/docker-compose.yml b/apps/act_runner/0.2.6/docker-compose.yml new file mode 100644 index 00000000..eeb38af4 --- /dev/null +++ b/apps/act_runner/0.2.6/docker-compose.yml @@ -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 diff --git a/apps/act_runner/README.md b/apps/act_runner/README.md new file mode 100644 index 00000000..4810b283 --- /dev/null +++ b/apps/act_runner/README.md @@ -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 --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= -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. diff --git a/apps/act_runner/data.yml b/apps/act_runner/data.yml new file mode 100644 index 00000000..4f52521d --- /dev/null +++ b/apps/act_runner/data.yml @@ -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 \ No newline at end of file diff --git a/apps/act_runner/latest/.env.sample b/apps/act_runner/latest/.env.sample new file mode 100644 index 00000000..dfe219c0 --- /dev/null +++ b/apps/act_runner/latest/.env.sample @@ -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" diff --git a/apps/act_runner/latest/data.yml b/apps/act_runner/latest/data.yml new file mode 100644 index 00000000..44ac8333 --- /dev/null +++ b/apps/act_runner/latest/data.yml @@ -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 diff --git a/apps/act_runner/latest/docker-compose.yml b/apps/act_runner/latest/docker-compose.yml new file mode 100644 index 00000000..9346c05d --- /dev/null +++ b/apps/act_runner/latest/docker-compose.yml @@ -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 diff --git a/apps/act_runner/logo.png b/apps/act_runner/logo.png new file mode 100644 index 00000000..b810ad1e Binary files /dev/null and b/apps/act_runner/logo.png differ