분류 기타

개발자를 위한 13가지 오픈 소스 도구

컨텐츠 정보

  • 조회 756 (작성일 )

본문

소프트웨어 통합 및 제공에 있어 최대한의 유연성을 제공하는 도구를 선택하십시오.


현대 개발자는 고도로 기술적이고 독단적이며 열정적이며 커뮤니티 중심적이며 주도적이고 다국적 언어이며 가장 중요한 의사 결정권자입니다. 

오늘날 개발자는 구축 중인 제품과 이를 구축하는 데 사용되는 도구 및 기술에 대해 발언권을 갖고 있습니다. 

가장 중요한 것은 시간이 소중하고 개발자와 프로젝트 관리자가 항상 뛰어난 효율성을 얻을 수 있다는 것입니다. 

그러나 효율성을 높이려면 소프트웨어 수명 주기와 소프트웨어를 구성하고 조작하는 방법을 이해해야 합니다.


업계는 여전히 개발자의 시간을 어떻게 사용하는지 완벽하게 만들기 위해 노력하고 있습니다. 개발자의 주요 작업을 두 개의 서로 다른 "루프"로 나눌 수 있습니다.


  • 내부 루프: 개발자가 수행하는 가장 일반적인 작업으로 코드, 실행, 유효성 검사 및 디버그와 같은 기술 집합을 완전히 활용하는 작업입니다. 이것은 고전적인 개발자 루프입니다.

Inner loop developer tasks 

  • 외부 루프: 개발자의 코드가 CI/CD(지속적 통합 및 지속적 전달)를 거쳐 프로덕션에 배포되는 곳입니다. Gitlab 및 이와 유사한 플랫폼에서 개발자의 풀 요청(PR)은 메인 브랜치에 병합되고, CI/CD가 시작되어 빌드를 생성하고, 필요한 테스트를 실행하고, 지정된 환경에 배포합니다. 이것은 DevOps 루프입니다.

Outer loop developer tasks 

개발자는 내부 루프 작업, 혁신 추진 및 외부 루프에 대한 최소한의 시간에 대부분의 노력을 기울여야 합니다.


내부 루프와 외부 루프의 차이점을 이해하면 소프트웨어 수명 주기의 각 부분에 가장 적합한 개발자 도구를 식별하는 데 도움이 됩니다.


오픈 소스 내부 루프 도구 


다음은 코드, 실행, 유효성 검사 및 디버그 주기에 대해 제가 가장 좋아하는 오픈 소스 도구입니다.


Code 


  • Eclipse Che는 개발자 팀이 Kubernetes 개발에 액세스할 수 있도록 합니다. Che는 브라우저 내 통합 개발 환경(IDE)을 제공하여 개발자가 프로덕션 환경에서 실행되는 것과 똑같은 방식으로 모든 컴퓨터에서 애플리케이션을 코딩, 빌드, 테스트 및 실행할 수 있도록 합니다.
  • Visual Studio Code(VS Code) 및 VSCodium은 디버깅, 구문 강조 표시, 지능형 코드 완성, 스니펫, 코드 리팩토링 및 포함된 Git을 지원하는 오픈 소스 코드 편집기입니다.

Run 

  • OpenShift Do(odo)는 빠르고 반복적인 개발을 지원하는 개발자를 위한 명령줄 인터페이스로 개발자가 가장 중요한 코드인 코드에 집중할 수 있도록 합니다.
  • Minishift는 개발자가 가상 ​​머신 내에서 단일 노드 OKD 클러스터를 시작하여 로컬에서 OKD(Kubernetes 커뮤니티 배포)를 실행할 수 있도록 지원합니다. Minishift를 사용하면 로컬 시스템에서 매일 OKD를 시도하거나 이를 사용하여 개발할 수 있습니다.
  • Eclipse Che

Validate 

Deploy 

  • Eclipse Che
  • Odo

더 알아보기 


좋은 코딩 주기를 구현하기 위한 많은 워크플로가 있습니다.

개발자가 이러한 도구를 사용하는 방법에 대한 아이디어를 얻으려면 서버리스 애플리케이션 개발을 위해 Quark를 사용하는 방법에 대한 Daniel Oh의 기사와 그의 팀이 Eclipse Che를 사용하는 방법에 대한 Bryan Son의 기사를 읽으십시오.


오픈 소스 외부 루프 도구 


CI/CD를 통해 코드를 더 쉽게 보내고 프로덕션에 배포할 수 있게 해주는 훌륭한 오픈소스 도구가 있습니다.


CI/CD 


Tekton은 CI/CD 시스템을 만들기 위한 오픈 소스 프레임워크로 개발자가 빌드, 테스트 및 배포할 수 있습니다.

Jenkins는 무료 오픈 소스 자동화 서버입니다. CI/CD를 용이하게 하기 위해 구축, 테스트 및 배포와 관련된 소프트웨어 개발 부분을 자동화하는 데 도움이 됩니다.


Build 

  • Shipwright는 Kubernetes에서 컨테이너 이미지를 빌드 하기 위한 확장 가능한 프레임워크입니다.
  • Eclipse JKube는 Docker, Jib 또는 OpenShift Source-to-Image(S2I) 빌드 전략을 사용하여 컨테이너 이미지를 빌드하는 데 사용되는 플러그인 및 라이브러리 모음입니다.

Run 

  • CodeReady Containers(CRC)는 테스트 및 개발 목적으로 최적화된 로컬 OpenShift 4.x 클러스터를 관리합니다.

Monitor 

Prometheus는 이벤트 모니터링 및 경고를 제공합니다.


Deploy 

  • Tekton
  • Jenkins
  • Helm은 Kubernetes용 패키지 관리자입니다.
  • Argo CD는 Kubernetes용 선언적 GitOps 지속적 전달 도구입니다. 애플리케이션 배포 및 수명 주기 관리를 자동화하고 감사 가능하며 이해하기 쉽게 만듭니다.

DevOps 배우기 


DevOps 전략을 구현하려는 경우 Minishift 및 Jenkins를 사용하여 첫 번째 파이프라인을 설정하는 방법에 대한 Jess Cherry의 기사부터 시작할 수 있습니다.


쉽게 생각해 


오늘날 개발자는 소프트웨어 통합 및 제공에 사용되는 도구와 기술을 선택합니다. 개발자라면 최대한의 유연성을 위해 오픈 소스 도구를 선택하십시오. 프로젝트 관리자 또는 설계자인 경우 개발자가 적은 작업으로 더 많은 작업을 수행하여 성공할 수 있도록 오픈 소스 도구를 선택하십시오.


https://opensource.com/article/21/6/open-source-developer-tools