66 lines
2.2 KiB
Markdown
66 lines
2.2 KiB
Markdown
# act-runner-example
|
|
|
|
## Gitea Runner 缓存服务器 [^1]
|
|
```bash
|
|
docker rm -f gitea-runner-cache-server
|
|
docker run -d --name gitea-runner-cache-server \
|
|
--label com.centurylinklabs.watchtower.enable=true \
|
|
--restart unless-stopped \
|
|
-e TZ=Asia/Shanghai \
|
|
-v gitea-runner-cache-server:/runner-cache \
|
|
-p 9999:9999 \
|
|
--entrypoint act_runner \
|
|
--pull always \
|
|
gitea/act_runner:nightly \
|
|
cache-server \
|
|
--dir /runner-cache \
|
|
--port 9999 \
|
|
--host 'gitea-runner-cache-server.oo1.dev'
|
|
docker logs gitea-runner-cache-server
|
|
```
|
|
|
|
```
|
|
docker exec -it gitea-runner-cache-server sh -c "rm -rf /runner-cache/cache/*"
|
|
```
|
|
|
|
## Gitea Runner
|
|
- https://github.com/vegardit/docker-gitea-act-runner#additional-environment-variables
|
|
|
|
```bash
|
|
GITEA_INSTANCE_URL=https://git.1-h.cc
|
|
GITEA_RUNNER_REGISTRATION_TOKEN=❗️❗️❗️
|
|
CONTAINER_NAME=gitea_runner_1h_cc
|
|
MAX_PARALLEL_JOBS=1
|
|
|
|
VOLUME_NAME="$CONTAINER_NAME"_data
|
|
|
|
docker rm -f $CONTAINER_NAME
|
|
docker volume rm $VOLUME_NAME
|
|
|
|
arch=$(uname -m); if [ "$arch" == "x86_64" ]; then arch="amd64"; elif [ "$arch" == "aarch64" ]; then arch="arm64"; else echo "unknown arch: $arch"; exit 1; fi
|
|
labels="ubuntu-latest:docker://gitea/runner-images:ubuntu-latest"
|
|
labels="$labels,ubuntu-$arch:docker://gitea/runner-images:ubuntu-latest"
|
|
|
|
country=$(curl -fsSL ipinfo.io/country)
|
|
memTotal=$(grep MemTotal /proc/meminfo | awk '{printf "%.2f", $2 / 1024 / 1024}')
|
|
|
|
docker run --detach --restart=unless-stopped --pull=always --name $CONTAINER_NAME \
|
|
-e GITEA_RUNNER_MAX_PARALLEL_JOBS=$MAX_PARALLEL_JOBS \
|
|
-e GITEA_RUNNER_NAME="$country-$(curl -4fsSL ip.sb)-$arch-$(nproc)C${memTotal}G" \
|
|
-v $VOLUME_NAME:/data \
|
|
-v /var/run/docker.sock:/var/run/docker.sock:ro \
|
|
-e GITEA_INSTANCE_URL=$GITEA_INSTANCE_URL \
|
|
-e GITEA_RUNNER_REGISTRATION_TOKEN=$GITEA_RUNNER_REGISTRATION_TOKEN \
|
|
-v /etc/localtime:/etc/localtime:ro \
|
|
-e GITEA_RUNNER_LABELS="$labels" \
|
|
-e ACT_CACHE_SERVER_EXTERNAL_URL=http://gitea-runner-cache-server.oo1.dev:9999/ \
|
|
-e GITEA_RUNNER_JOB_CONTAINER_FORCE_PULL=true \
|
|
--label "com.centurylinklabs.watchtower.enable=true" \
|
|
yanhao98/runner-images:gitea-act-runner
|
|
|
|
docker logs -f $CONTAINER_NAME
|
|
```
|
|
|
|
[^1]: https://github.com/nektos/act/tree/master/pkg/artifactcache
|
|
|