I have a gitea and act_runner docker in my rpi4(the OS is RHEL9.2)
i write a action file to auto checkout my code and push to my webserver when when i push the code, but the action sometimes now work
the action file is tested, and i don’t find any useable log in the gitea and act runner’s logs.
the action file is not changed
# act runner's log
[Deploy/deploy] Cleaning up services for job deploy
time="2023-10-07T04:03:15Z" level=info msg="Parallel tasks (0) below minimum, setting to 1"
[Deploy/deploy] Cleaning up container for job deploy
[Deploy/deploy] [DEBUG] Removed container: d96cd35f9f83549e008e9890eab49b50f72e48d02ebc7024e64eb930c2623e53
[Deploy/deploy] [DEBUG] 🐳 docker volume rm GITEA-ACTIONS-TASK-138_WORKFLOW-Deploy_JOB-deploy
[Deploy/deploy] [DEBUG] 🐳 docker volume rm GITEA-ACTIONS-TASK-138_WORKFLOW-Deploy_JOB-deploy-env
[Deploy/deploy] 🏁 Job succeeded
# compose file
version: "3"
networks:
gitea:
name: gitea
ipam:
config:
- subnet: 172.24.0.0/24
services:
gitea:
image: gitea/gitea
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
restart: always
networks:
gitea:
ipv4_address: 172.24.0.8
volumes:
- /data/gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "2222:2222"
runner:
image: gitea/act_runner
container_name: act-runner-host
environment:
CONFIG_FILE: /data/config.yaml
GITEA_INSTANCE_URL: "http://172.24.0.8:3000"
GITEA_RUNNER_REGISTRATION_TOKEN: "pass"
GITEA_RUNNER_NAME: "rpi4"
GITEA_RUNNER_LABELS: "ubuntu-latest:docker://node:16-bullseye,debian-latest:docker://debian:latest,rpi4:host"
restart: always
networks:
gitea:
ipv4_address: 172.24.0.9
volumes:
# - /data/act-runner/config.yaml:/data/config.yaml
- /data/act-runner:/data
- /var/run/docker.sock:/var/run/docker.sock
# action help
name: Deploy
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on:
push:
branches:
- master
jobs:
deploy:
runs-on: debian-latest
steps:
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- run: sed -i -E 's/(deb|security).debian.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list.d/debian.sources
- run: apt update && apt install nodejs git git-lfs python3 python-is-python3 -y && git lfs install
- name: Check out repository code
uses: http://172.24.0.8:3000/actions/checkout@v3
with:
lfs: true
fetch-depth: 0
submodules: true
persist-credentials: false
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
- name: Restore Timestamps
uses: http://172.24.0.8:3000/actions/git-restore-mtime-action@v1
- name: List files in the repository
run: ls -lah ${{ gitea.workspace }}
- name: executing remote ssh commands using password
uses: http://172.24.0.8:3000/actions/ssh-action@v1.0.0
with:
host: ${{ secrets.PRODUCT_HOST }}
username: ${{ secrets.PRODUCT_USER }}
password: ${{ secrets.PRODUCT_PASSWORD }}
port: 22
script: |
whoami && pwd
ls -lah
rm -rf /tmp/${{ gitea.repository_owner }}
mkdir /tmp/${{ gitea.repository_owner }}
- name: copy file via ssh password
uses: http://172.24.0.8:3000/actions/scp-action@v0.1.4
with:
host: ${{ secrets.PRODUCT_HOST }}
username: ${{ secrets.PRODUCT_USER }}
password: ${{ secrets.PRODUCT_PASSWORD }}
port: 22
source: "*,!.*"
target: /tmp/${{ gitea.repository_owner }}
- name: executing remote ssh commands using password
uses: http://172.24.0.8:3000/actions/ssh-action@v1.0.0
with:
host: ${{ secrets.PRODUCT_HOST }}
username: ${{ secrets.PRODUCT_USER }}
password: ${{ secrets.PRODUCT_PASSWORD }}
port: 22
script: |
whoami && pwd
cd /tmp/${{ gitea.repository_owner }}
ls -lah
rm -rf /data/web && mv /tmp/${{ gitea.repository_owner }} /data/web
- run: echo "🍏 This job's status is ${{ job.status }}."
appreciate any suggestions