docker 自托管GitHub操作运行程序作业失败

wfsdck30  于 2023-02-11  发布在  Docker
关注(0)|答案(1)|浏览(118)

我们使用运行在EC2机器(m5.xlarge)上的Github Self-Hosted action runner。我们使用这些作为CI/CD管道的一部分来支持Docker映像构建和自动化测试。这个解决方案在过去一年左右运行良好,但昨天突然,构建开始失败,并显示以下错误消息:
time="2023-02-03T12:00:13Z" level=error msg="error waiting for container: unexpected EOF"
我的理解是,这通常是由于Docker容器耗尽了资源(CPU /内存限制),但考虑到这些是m5.xlarges(4个vCPU和16 GB内存),我有点惊讶。我们的构建使用了NPM,我知道这可能会非常占用资源,但在容器执行期间监视它显示,它远远没有接近节点的限制:

我试过循环节点,但是行为没有变化。下面的用户数据脚本用于这些节点,它连接到我们的Github帐户,并使其可用于作业。我也试过使用最新的actions-runneer包,但是行为没有变化。还有什么其他原因会抛出这个错误,因为我有点被这个难住了。

#!/bin/sh
set -e

curl https://get.docker.com | bash
apt install -y python3-pip jq
pip3 install awscli

mkdir actions-runner && cd actions-runner
curl -O -L https://github.com/actions/runner/releases/download/v2.286.0/actions-runner-linux-x64-2.286.0.tar.gz
tar xzf ./actions-runner-linux-x64-2.286.0.tar.gz
chown -R ubuntu:ubuntu .

instance_id="$(curl -s http://169.254.169.254/latest/meta-data/instance-id)"

url="https://api.github.com/orgs/<REMOVED>/actions/runners/registration-token"
token=$(curl -s -u "<REMOVED>:<REMOVED>" -X POST "$url" | jq -r .token)

sudo -u ubuntu ./config.sh \
  --name "products-stage-ec2-runner-$instance_id" \
  --token "$token" \
  --url "https://github.com/<REMOVED>" \
  --labels "<REMOVED>" \
  --unattended

sudo ./svc.sh install
sudo ./svc.sh start
hmmo2u0o

hmmo2u0o1#

请看我如何解决这个问题的评论细节。

相关问题