- diferentes runners segun el entorno: https://jonico.github.io/awesome-runners/
- aspectos de seguridad: https://github.com/dduzgun-security/github-self-hosted-runners
Link directo a los runners:
https://github.com/sosan/TU_REPO/actions/runners
Esta en Settings -> Actions/Runners
click boton New self hosted runner
copiamos el token del self runner AAPYBGPKXXXQ3UMKEO5QECBGxXXXXXXXXC3CXCH4I(ejemplo)
En el vps, tenemos montado un docker sin rootless (TODO: rootless)
NOTA: si seguimos las instrucciones del github, se ejecutara un runner, y cuando queramos borrarlo podemos ir al github y click boton borrar y se borraran los servicios del vps referentes al github runner
usando imagen https://hub.docker.com/r/myoung34/github-runner
Config basica runner:
docker run -d --restart always --name github-runner \
-e REPO_URL="https://github.com/sosan/github-self-runner-digitalocean" \
-e RUNNER_NAME="linux-terraform" \
-e RUNNER_TOKEN="AAPYBGPKQXXXXXXX3UMKEO5QECBGC3CXCH4I" \
-e RUNNER_WORKDIR="/tmp/github-self-runner-digitalocean" \
-v /tmp/github-self-runner-digitalocean:/tmp/github-self-runner-digitalocean \
-v /var/run/docker.sock:/var/run/docker.sock \
myoung34/github-runner:latest
docker logs github-runner
muestra:
# Authentication
√ Connected to GitHub
# Runner Registration
√ Runner successfully added
√ Runner connection is good
# Runner settings
√ Settings Saved.
√ Connected to GitHub
Current runner version: '2.294.0'
2022-06-26 15:58:21Z: Listening for Jobs
en el github seccion actions/runners tendria que poner idle
Desde github añadimos un token llamado: DIGITALOCEAN_ACCESS_TOKEN
con el PAT de digitalocean
DIGITALOCEAN_ACCESS_TOKEN=dop_v1_d8eeed703665XXXXXXXXXXX18d0021319XXXXXXXXX(ejemplo)
Imagen despliegue:
Mejoras TODO:
- Despligue desde merge-pull-request
- Rootless docker
Codigo fuente:
https://github.com/sosan/github-self-runner-digitalocean
Top comments (3)
Hola @sosan, me encantaría etiquetar esta publicación como "español" para que las personas que buscan contenido en español puedan encontrarlo.
¿Estás de acuerdo con eso?
done :)
Thank you!