在GitHub操作失败时重新运行Docker容器,但仍能通过工作流的方法如下:
retry
关键字来指定容器运行失败时的重试次数。例如:jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build and run Docker container
run: |
docker build -t my-container .
docker run my-container
- name: Retry on failure
if: ${{ failure() }}
run: |
docker run my-container
在上述示例中,如果Docker容器运行失败,工作流会继续执行Retry on failure
步骤,并再次运行相同的Docker容器。
continue-on-error
关键字。例如:jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build and run Docker container
run: |
docker build -t my-container .
docker run my-container
- name: Continue on error
continue-on-error: true
run: |
echo "Docker container failed, but workflow continues"
在上述示例中,如果Docker容器运行失败,工作流会继续执行Continue on error
步骤,并输出一条提示信息。
retry
关键字来指定工作流的重试次数。例如:on:
workflow_run:
workflows: ["Your Workflow Name"]
types:
- completed
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build and run Docker container
run: |
docker build -t my-container .
docker run my-container
- name: Retry workflow on failure
if: ${{ failure() }}
run: |
echo "Workflow failed, retrying..."
在上述示例中,如果Docker容器运行失败,工作流会重新运行整个工作流,直到达到指定的重试次数。
请注意,以上方法仅适用于GitHub Actions平台上的工作流。如果你使用其他CI/CD平台或自己搭建的环境,可能需要根据具体情况进行相应的配置和调整。
领取专属 10元无门槛券
手把手带您无忧上云