【问题标题】:Is it possible to configure GitHub Action workflow runs to delete automatically after some time?是否可以将 GitHub Action 工作流运行配置为在一段时间后自动删除?
【发布时间】:2022-11-10 22:42:40
【问题描述】:

我有很多工作流程运行。尽管它们并没有打扰我,但由于lean software development(消除浪费)的第一原则,我想删除它们。

但是,我在 UI 中找不到任何内容来批量删除它们。我也找不到配置来将它们配置为在一段时间后自动删除。

是否可以设置一段时间后自动删除?

【问题讨论】:

    标签: github-actions


    【解决方案1】:

    是的,如果你去存储库设置 -> 操作有一段工件和日志保留您可以在其中配置日志将被删除多长时间。

    【讨论】:

    • 谢谢你。这是一个不错的选择。但它似乎有错误。因为默认值为 90 天,即 3 个月。但我可以看到我的日志是 6 个月前存在的。
    【解决方案2】:

    我使用这个脚本。另存为删除WorkflowRuns.sh在您的项目文件夹中。

    org=<yourOrganizationOrUsername>
    repo=<yourRepoNameAsInTheURL>
    
    # Get workflow IDs with status "disabled_manually"
    workflow_ids=($(gh api repos/$org/$repo/actions/workflows | jq '.workflows[] | select(.["state"] | contains("disabled_manually")) | .id'))
    
    for workflow_id in "${workflow_ids[@]}"
    do
      echo "Listing runs for the workflow ID $workflow_id"
      run_ids=( $(gh api repos/$org/$repo/actions/workflows/$workflow_id/runs --paginate | jq '.workflow_runs[].id') )
      for run_id in "${run_ids[@]}"
      do
        echo "Deleting Run ID $run_id"
        gh api repos/$org/$repo/actions/runs/$run_id -X DELETE >/dev/null
      done
    done
    

    程序:

    1. Github 操作页面:禁用要删除其运行的工作流
    2. 您的本地计算机:运行脚本。
    3. Github 操作页面:检查所有工作流运行是否已删除。
    4. Github 操作页面:再次启用工作流。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-11
      • 2022-10-02
      • 1970-01-01
      • 2021-05-23
      • 2021-03-27
      • 2020-09-30
      • 2020-01-01
      • 1970-01-01
      相关资源
      最近更新 更多