원격 디버깅 Github 작업 워크플로
.github/workflow/deployment.yml
)에 추가한 모든 스크립트를 로컬에서 테스트했으며 다행히도 모든 스크립트가 예상대로 작동했습니다. 그 긍정적인 측면에서 저는 새 워크플로 파일을 푸시하고 Github 작업의 작은 노란색 점이 녹색으로 바뀌는 것을 간절히 기다리고 있었습니다.음, 녹색으로 바뀌었지만 배포된 아티팩트의 유효성을 검사한 후 무언가 잘못되었음을 깨달았습니다. (첫 번째 시도에서 일이 예상대로 진행된다면 개발자로서의 우리 직업은 지금 그다지 흥미롭지 않을 것입니다. 그렇죠?)
문제는 일부 필수 자산을 배포된 번들에 포함하기 위해 워크플로가 누락되었다는 것입니다. 문제 없이 로컬에서 작동하는 동일한 스크립트가 파이프라인에서 오작동하고 있었고 한 시간 동안 yaml 파일을 한 줄씩 면밀히 조사했는데 워크플로가 의도한 것에서 벗어나는 것을 볼 수 없었습니다. 그래서 어떻게든 내 설정이 github에서 내 작업 흐름을 실행하는 데 사용하는 작업자와 호환되지 않는다는 결론에 도달했습니다.
버그 문제를 더 쉽게 해결할 수 있도록 워크플로를 실행 중인 작업자에 직접 들어갈 수 있는 옵션을 찾고 있었습니다. 나는 똑같은 작업을 수행하는 도구를 찾고 있었고 매우 짧은 시간의 연구 끝에 완벽하게 적합한 도구를 찾았습니다.
작업: https://github.com/csexton/debugger-action
TL;DR
The above action can be included to the workflow yaml file and it will keep the job hanging from the stage where the action was referred. It will print the SSH details to the console which can be used to remotely login to the github worker that is running the workflow
어떻게 설정하나요?
이 작업을 설정하는 것은 매우 간단합니다. 워크플로 yaml 파일에 다음 코드를 추가하기만 하면 이 작업이 해당 단계부터 작업을 차단합니다.
- name: Setup Debug Session
uses: csexton/debugger-action@master
다음은 전체 설정이 포함된 샘플 워크플로 파일입니다.
name: New Pipeline
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
debug-workflow:
name: Job to debug the workflow
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Setup Debug Session
uses: csexton/debugger-action@master
작업이 차단되면 해당 단계의 세부 정보를 확장하면 SSH를 사용하여 작업자에게 원격으로 로그인하기 위한 세부 정보를 얻을 수 있습니다.
SSH를 사용하여 원격 호스트에 로그인할 수 있는 작업 터미널이 있는 경우 실행
ssh [email protected]
만 하면 작업자로 바로 연결됩니다. 기본 세션 시간 초과는 15분으로 설정되어 있으며 이를 연장하려면 명령touch /tmp/keepalive
을 실행하면 됩니다.github 작업 작업자의 원격 세션
SSH 세션에서 원격 세션과 호스트에 대한 명령을 알고 있으면 문제를 쉽게 해결할 수 있습니다.
필자의 경우 문제는 작업자 내에서 수동으로 명령을 실행하려고 시도한 후 발견한 작업 디렉토리에 상대적인 경로가 잘못 구성되었기 때문입니다.
결론
이것은 새로운 github 작업 워크플로를 설정할 때와 내부가 제대로 설정되고 있는지 확인하려는 경우에 유용한 설정하기 쉬운 작업입니다(배포 당일 놀라움의 여지를 남겨두지 말자).
Reference
이 문제에 관하여(원격 디버깅 Github 작업 워크플로), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/neeldev96/remote-debugging-github-actions-workflow-24jn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)