GitHub Actions 在线调试工具:debuggeraction

1. Debug 到想跑路

GitHub Actions 是 GitHub 在 2018 年 10 月推出的持续集成服务。对于开源项目,免费提供无限时长的构建时间,同时支持 Linux、MacOs、Windows 系统,非常招人喜爱。但是,最近的一次经历改变了我的看法。我给同事的仓库,提交了一个 improvement: build and ci 的 commit ,用于完善持续构建的功能。如下图:这只是 Debug 过程中的几条记录。在本地测试通过,但是添加到 workflows 就报错。花了一天多时间,提交了不下几十次用于测试。这是一个私有的仓库,只能遵循 Merge Requests 的研发流程。这倒不要紧,关键是老板 watch 了这个仓库。每次构建失败,都会收到一条通知邮件,还赶上年终,泪奔 ~~~

2. debugger-action 诞生记

周末正好看到 PingCap 有个 Hackathon 的活动,用较短的时间集中完成一个功能。灵感一闪,我周末就用 GitHub Actions 来解决一下 Debug 到想跑路的问题。看了下 TypeScript 的语法,凭借之前 SaaS 全栈开发的一点底子,还有强大的 Google 搜索引擎,就把事情给办了。一起来看看怎么调试 GitHub Actions 吧。下面是一个 Go 的 workflows 环境:

相关推荐

站点声明:本站部分内容转载自网络,作品版权归原作者及来源网站所有,任何内容转载、商业用途等均须联系原作者并注明来源。

相关侵权、举报、投诉及建议等,请发邮件至E-mail:service@mryunwei.com

回到顶部
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
name: Build

on:
  push:
    branches: [ master ]

jobs:

  build:
    name: Build
    runs-on: ubuntu-latest
    steps:

    - name: Set up Go 1.14
      uses: actions/[email protected]
      with:
        go-version: 1.14

    - name: Check out code into the Go module directory
      uses: actions/[email protected]

    - uses: shaowenchen/[email protected]
      name: debugger
      timeout-minutes: 30
      continue-on-error: true
      with:
        frp_server_addr: ${{ secrets.FRP_SERVER_ADDR }}
        frp_server_port: ${{ secrets.FRP_SERVER_PORT }}
        frp_token: ${{ secrets.FRP_TOKEN }}
        ssh_port: ${{ secrets.SSH_PORT }}
ssh [email protected]_server_addr -p ssh_port
You Server IP Bind port token
- uses: shaowenchen/[email protected]
  name: debugger
  timeout-minutes: 30
  continue-on-error: true
  with:
    frp_server_addr: ${{ secrets.FRP_SERVER_ADDR }}
    frp_server_port: ${{ secrets.FRP_SERVER_PORT }}
    frp_token: ${{ secrets.FRP_TOKEN }}
    ssh_port: ${{ secrets.SSH_PORT }}
ssh [email protected]_server_addr -p ssh_port 
name: buildx
on:
  push:
    branches: [ master ]

jobs:
  hello:
    runs-on: ubuntu-latest
    steps:
      - name: Set up Docker Buildx
        uses: docker/[email protected]
      - uses: shaowenchen/[email protected]
        name: debugger
        timeout-minutes: 30
        continue-on-error: true
        with:
          frp_server_addr: ${{ secrets.FRP_SERVER_ADDR }}
          frp_server_port: ${{ secrets.FRP_SERVER_PORT }}
          frp_token: ${{ secrets.FRP_TOKEN }}
          ssh_port: 29001
docker ps

CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS               NAMES
94e481a9d5a5        moby/buildkit:buildx-stable-1   "buildkitd --allow-i…"   23 minutes ago      Up 23 minutes                           buildx_buildkit_builder-1cfe11cc-90d5-4518-9d89-a05765ac30620
name: kind
on:
  push:
    branches: [ master ]

jobs:
  hello:
    runs-on: ubuntu-latest
    steps:
      - name: Creating kind cluster
        uses: helm/[email protected]
      - uses: shaowenchen/[email protected]
        name: debugger
        timeout-minutes: 30
        continue-on-error: true
        with:
          frp_server_addr: ${{ secrets.FRP_SERVER_ADDR }}
          frp_server_port: ${{ secrets.FRP_SERVER_PORT }}
          frp_token: ${{ secrets.FRP_TOKEN }}
          ssh_port: 29002
kubectl get node

NAME                          STATUS   ROLES    AGE   VERSION
chart-testing-control-plane   Ready    master   24m   v1.17.0
name: macos-shell
on:
  push:
    branches: [ master ]

jobs:
  hello:
    runs-on: macos-latest
    steps:
      - uses: shaowenchen/[email protected]
        name: debugger
        timeout-minutes: 30
        continue-on-error: true
        with:
          frp_server_addr: ${{ secrets.FRP_SERVER_ADDR }}
          frp_server_port: ${{ secrets.FRP_SERVER_PORT }}
          frp_token: ${{ secrets.FRP_TOKEN }}
          ssh_port: 29003
Mac-1610933038460:~ runner$ uname -a

Darwin Mac-1610933038460.local 19.6.0 Darwin Kernel Version 19.6.0: Thu Oct 29 22:56:45 PDT 2020; root:xnu-6153.141.2.2~1/RELEASE_X86_64 x86_64