AI 기반 DevOps Revolution : 개발자 협업 재정의
DevOps를 마스터하는 것과 관련하여 종종 우리를 끌어 올리는 기술이 아니라 협업 및 커뮤니케이션의 더 중요한 측면입니다. 의사 소통 문제, 모호한 요구 사항 및 누락 된 문서화는 이해 관계자 의도를 추측 할 수 있습니다. 또한, 사일로의 워크 플로우는 움직이는 부품이 너무 많기 때문에 팀이 프로세스, 툴링 및 배송 시간에 불일치에 직면 할 수 있습니다. 이것은 모두 DevOps 모범 사례에 대해 작동합니다.
이 블로그에서는 팀 생산성을 향상시키고,인지 부하를 줄이며, 팀과 도구에서보다 완벽한 협업을 구현하여 코드 품질을 향상시키고 더 빠른 전달주기를 만들 수있는 방법을 살펴볼 것입니다. 우리의 워크 플로에 약간의 AI를 추가하면 올바른 경로를 얻을 수 있습니다.
💡 팁: Copilot (또는 생성 AI)을 사용할 때는 항상 제안을 수락하기 전에 모든 제안을 검토하는 것이 좋습니다. Github Copilot을 보조원으로 언급 한 이유가 있습니다. 그것은 당신의 능력을 강화하고 기술을 대체하는 것이 아니라 당신의 능력을 강화하기위한 것입니다. |
커뮤니케이션 격차 및 문서 작성
새로운 프로젝트를 시작하면 가장 먼저하는 일은 읽기 나 문서를 찾는 것입니다. 우리가 갈 때 코드에 대한 문서를 작성해야하지만 현실은 종종 그렇지 않다는 것입니다. 의도와 실습 사이의 이러한 격차는 새로운 회원을 배출하거나 오래된 프로젝트를 다시 방문하려고 할 때 팀에 일관된 도전을 만듭니다.
요즘에는 레거시 코드 기반에서 작업하거나 새로운 커뮤니티 프로젝트에 참여하든 필요한 문서를 얻으려면 VSCODE 또는 GitHub Copilot Chat을 열어 github.com에서 Cobilot에게 코드베이스를 설명하도록 요청합니다. 그리고 기존의 readme가 부족할 때, 나는 Copilot에게 더 나은 글을 쓰도록 도와달라고 요청할 수 있습니다.
예를 들어, 전형적인 자리 표시 자 readme는 다음과 같습니다.

간단한 설명 외에도 많은 정보가 없습니다. Vscode 및 Github Copilot 채팅을 열고 기존 readme 파일을 첨부하여 Copilot 컨텍스트를 제공하고 간단히 읽기를 더 자세하게 만들도록 요청했습니다.

Coplot에게 더 나은 readme을 만드는 데 도움이되도록 요청한 후 다음은 다음과 같습니다.

Github Copilot은 프로젝트 개요, 설치 및 구성 단계 및 일부 사용 지침을 제공했습니다. 이것은 나에게, 그리고이 프로젝트를 방문하는 다른 사람, 프로젝트가 무엇을하고 있는지, 시작하는 방법을 더 잘 이해하게됩니다.
코드를 작성한 후에는 github copilot을 사용하여 readme를 생성 할뿐만 아니라 기능 및 클래스 설명도 작성할 수 있습니다. Copilot은 설명을 생성하고 코드가 수행하는 일에 대한 컨텍스트를 추가하며 학습 곡선 및 온 보딩 시간을 줄일 수있는 문서를 작성하여 코드의 가독성을 향상시킬 수 있습니다.
예를 들어, Copilot이 인라인 댓글을 작성하는 데 도움이되는이 코드를 확인하십시오.

종종 다양한 기술 팀 (운영, 보안 및 개발)은 다른 팀의 표준, 종속성 또는 변경 사항을 완전히 알지 못하며 독립적으로 운영됩니다. Coplelot을 사용하여 더 나은 문서화 및 코드 댓글을 작성하면이 사일로를 분해하는 데 도움이 될 수 있습니다.
AI 기반 코드 검토 및 요청 요청
따라서 다른 팀에 영향을 미치는 코드 변경을 할 때보다 원활하고 안전한 전달을 보장하기 위해 이러한 변경 사항을 더 잘 검토 할 수 있습니까? 봅시다.
풀 요청을 제출하는시기를 알고 작업 과부하로 인해 서두르고 있습니까? 위의 예에서는 Docstrings를 사용하여 기능을 설명했으며 복잡한 기능으로 작업 할 때 매우 유용합니다. Colecilot은 Docstring을 작성하여 명확한 매개 변수 설명, 자세한 방법 설명 및 사용에 대한 컨텍스트를 제공하는 데 도움이됩니다. 이를 통해 코드 검토 자의 모호성을 줄이고 변경된 변경 사항에 대한 컨텍스트를 제공합니다.
당신이 당신의 커밋을 제출할 준비가되면, 재미 있고 재치있는 커밋 메시지를 직접 생각하지 않고 AI-Enhanced Commit 옵션을 선택하고 Copilot이 귀하의 변경 사항에 대한 명확하고 간결한 요약을 생성하도록하십시오.

풀 요청을 검토 할 때 설명이 거의 없거나 전혀 없습니까? 우리는 Copilot을 사용하여 도움을 줄 수 있습니다! 코드를 커밋 한 후 “요약”옵션을 사용하여 풀 요청 요약을 생성 할 수 있습니다.

Copilot은 커밋을 검토하고 파일이 변경된 다음 변경된 파일에 대한 링크로 변경 사항을 철저히 요약합니다.

종종, 우리는 풀 요청을 제출하고 검토자가 마치 크리스탈 볼이있는 것처럼 어떤 변화가 있었는지 파악할 것을 기대합니다. 이 예에서는 Copilot을 사용하여 커밋의 변경 사항에 대한 짧은 요약과 풀 요청에 대한 더 길고 자세한 요약을 생성했습니다. 이것은 나에게 시간을 절약했지만 더 중요한 것은 내가 스스로 할 수 있었던 것보다 훨씬 더 높은 품질의 출력을 제공해온 것입니다.
Colecilot의 요약 및 문서화 능력은 팀 간 일관된 용어 및 커뮤니케이션을 만드는 데 큰 도움이 될 수 있으며 협업 고장을 제거하고 코드 검토를 향상시킵니다.
커밋을 보내기 전에 Copilot을 사용하여 풀 요청을 요약하는 것과 함께 화면 오른쪽 상단에 “리뷰어”를 클릭하여 Copilot을 검토 자 중 한 명으로 설정할 수도 있습니다.

일단 그렇게하면 Copilot은 다른 팀원들 앞에서 풀 요청을 검토하여 오타 및 기타 오류를 찾을 수있게 해주 며 다른 사람들에게 검토를 요청하기 전에 코드를 반복합니다. 이를 통해 더 빨리 반복하고 변경 사항에 대한 직접적인 피드백을 더 빨리 얻고 팀원이 내 코드를 검토하는 데 걸리는 시간을 줄입니다. 또한 코드 품질을 향상시키는 방법도 배울 수 있습니다.
해결 해결은 Copilot과의 충돌을 병합합니다
지금까지 Copilot을 사용하여 Project ReadMe를 더 잘 정의하고 인라인 댓글 및 문서를 추가하며보다 관련성 있고 철저하며 정확한 커밋 메시지 및 정확한 풀 요청 요약을 생성했습니다. 그러나 이러한 변화의 대부분은 저 혼자 행동하는 것이 었습니다. 팀과 협력 할 때는 어떻게해야합니까? Github Copilot도 거기에서 도울 수 있습니다!
때로는 협업이 지저분한 변화로 이어지고 어려운 시점에 도달하여 코드 패턴, 환경 변수 및 댓글을 기반으로 궁극적으로 커밋 할 버전을 결정하려고합니다. Colecilot이 합병 충돌을 해결하는 데 도움이되는 몇 가지 방법이 있습니다.
편집기, 특히 VScode에서 작업 할 때는 충돌하는 코드 섹션이 표시됩니다. Copilot 채팅 창을 열거 나 인라인으로 “이 병합 충돌을 어떻게 해결해야합니까?” Colecilot은 두 버전의 코드를 분석하고 해상도를 제안하며 그 추론을 설명합니다. 제안이 적합하면 솔루션을 수락하거나 대안을 요청할 수 있습니다.
github.com에서 Copilot을 사용하고 Github Enterprise에 라이센스를 부여한 경우 Workflow가 실패한 이유도 Copilot에게 물어볼 수도 있습니다. 풀 요청으로 이동하여 실패한 검사의 세부 정보를 선택한 다음 검색 표시 줄 옆에있는 Github Copilot 아이콘을 클릭하십시오. 그런 다음 Copilot에게 직접 물어볼 수 있습니다.“왜이 풀 요청이 실패 했습니까?”

이것은 일반적인 문제, 특히 장기 실행 기능 분기 및 자동화 작업을 통해 빠른 해결책을 찾을 수있는 좋은 방법입니다.
전환 된 협업 및 전달
고성능 DevOps 팀을 구축하는 데있어 근본적인 과제 중 하나는 항상 귀중한 개발자 시간을 매일 소비하는 반복적 인 작업의 부담이었습니다. Copilot을 내 워크 플로에 통합함으로써 전체 기능을 제안하고 중요한 논리 간격을 채우면서 코딩 세션을 지배했던 보일러 플레이트 코드를 크게 줄였습니다. 이것은 내가 일하는 방식을 변화시켜 복잡한 건축 문제를 해결하고 구현 세부 사항보다는 혁신에 집중할 수있었습니다.
귀하의 환경에서 이러한 Github Copilot 기능을 탐색하는 것이 좋습니다. 개별 생산성과 팀 역학의 변화는 당신을 놀라게 할 수 있습니다.
행복한 코딩!
작성자가 작성했습니다
Post Comment