개발에 있어서 코드 형상 관리는 필수입니다.
형상관리툴은 Git, SVN 등이 있습니다만, 최근에는 Git을 많이 사용하고 있습니다.
Git은 기본적으로 CLI 형태로 사용을 하게 되는데요,
매번 CLI를 입력해야 되고, 수많은 명령어와 옵션들을 모두 다 기억하기는 쉽지 않습니다.
그래서 IntelliJ, Eclipse, VS Code 등 IDE에서는 Git을 편리하게 쓸 수 있는 메뉴를 별도로 제공하고 있으며 Git GUI 클라이언트들도 있습니다. 대표적인 Git GUI 툴은 아래와 같습니다.
- GitHub : GitHub Desktop
- Atlassian : SourceTree
- TortoiseGit (Windows 버전만 제공)
저희는 Git으로 형상 관리를 하고 있으며 저장소는 BitBucket을 사용하고, SourceTree로 편리하게 소스 관리 작업을 하고 있습니다.
이번에는 이 Source Tree에서 제공하는 "Custom Action"이라는 기능에 대해서 소개하려고 합니다.
Custom Action은 필요한 명령어들을 등록하여 처리해주는 기능입니다. 즉 , 매크로 같은 기능입니다!!
이 기능을 이용하여 자주 쓰는 명령어나 기타 툴을 실행시키는 등 다양하게 적용 및 활용을 할 수 있습니다.
저는 해당 기능을 IDE 툴을 실행시킬 때 자주 사용하고 있습니다.
Mac OS를 기준으로 Intellij와 webstorm을 Custom Action에 등록을 하고 해당 repo를 원하는 IDE로 실행시켜보도록 하겠습니다.
1. IDE 툴이 외부 Script로 실행이 될 수 있도록 세팅하기
IDE가 shell에서 명령어로 실행이 될 수 있게 설정을 해줘야 합니다. IDE툴을 JetBrains 사이트에서 개별적으로 설치한 경우와 Tool Box로 설치한 경우 설정하는 방법이 다릅니다.
- 직접 설치파일을 내려받아 설치한 경우
'Tools' - 'Create Command-line Lancher' 로 들어가서 설정을 해주시면 됩니다.
- Tool Box로 설치한 경우
위 방식대로 설정이 불가합니다. 만약 위와 같이 진행을 하려고 하면 이런 팝업을 만나게 됩니다.
- Tool Box 오른쪽 상단에 설정 아이콘을 클릭 - 설정 메뉴로 진입
- 쉘 스크립트 생성(Generate Shell Script)를 활성화 시킨 후 script 들이 위치해 있을 경로를 설정해줍니다.
- 설정할 IDE의 '설정' 메뉴로 이동 -> '쉘 스크립트 생성이 비활성화되었습니다' 밑에 활성화 버튼 클릭 -> 쉘 스크립트 이름 입력
위에서 설정한 쉘 스크립트 위치인 '/usr/local/bin'으로 들어가면 입력한 idea 파일이 있는 것을 확인 할 수 있습니다.
2. 실행 스크립트 만들기
#!/bin/zsh
cd $1
git pull
idea .
위 스크립트는 해당 repo 디렉토리로 이동 후 git pull로 원격지의 최신 소스를 받은 후 원하는 IDE를 실행시키는 스크립트입니다.
마지막 줄의 'idea'는 위에서 입력한 쉘 스크립트 이름을 입력해주시면 됩니다.
webstorm의 경우에는 마지막줄만 'webstorm' 으로 바꿔 주시면 됩니다.
스크립트 생성 후 권한 수정을 해주셔야 합니다.
% chmod 755 git_pull_intellij.sh
3. 생성한 실행 스크립트를 Custom Action에 등록하기
최상단 메뉴의 동작(Actions) - 커스텀 액션(Custom Actions) - 편집(Edit) 선택 후 팝업창에서 추가(Add) 버튼 선택하여 새 액션 추가
각 항목 입력 후 확인 버튼을 눌러 저장
4. Custom Action 실행
오픈 할 repo를 우클릭하여 Custom Action에서 등록한 action을 선택하면 등록된 스크립트가 실행이 됩니다.
위와 같이 Custom Action을 통해서 git pull 및 IDE 실행까지 한번에 되도록 설정을 해봤습니다.
이를 활용해서 다양한 script를 만들어서 Custom Action에 등록해서 활용 하실 수 있습니다.
간단하지만, 꽤 유용한 기능이니 잘 활용해보세요.
'Tech' 카테고리의 다른 글
JPA Entity 기초 (0) | 2022.07.08 |
---|---|
Apache Hive 쿼리 오류 해결 방안 (1) | 2022.06.27 |
Parquet 파일 구조와 관련 설정 값 이해하기 (0) | 2022.05.23 |
Apache Hive 를 이용한 온라인 행동 데이터 ETL (0) | 2022.05.10 |
RabbitMQ - SAC(Single Active Consumer) (0) | 2022.04.06 |