• 결론
• 스케폴드 설치
• wsl 내부 탐색
• gui로 접근하기
• 인텔리제이로 소스코드를 열기
환경
OS : WINDOWS 10 HOME
윈도우 환경에 UBUNTU 20.04 설치
결론
진행하게되는 이유.
스케폴드는 코드를 변경함과 동시에 빌드, 배포까지 해줄 수 있는 도구인데
코드를 변경함과 동시에 코드 변경이 되지 않는 현상이 생겼다.
스케폴드가 바라보는 대상을 변경해줘 정상 작동 시키기 위해서이다.
내 코드는 c드라이브에 있는 Git 폴더에 있는데
스케폴드가 바라보는 파일은 github에서 가져온 소스코드이기 때문에
IDE에서 소스코드를 변경해봐야 변경을 감지 못하는 것이 당연하다.
때문에 스케폴드가 소스변경을 감지할 수 있게 해줘야 한다.
소스코드는 C 드라이브에 있었다.
인텔리제이에서 수정하는 코드는 이곳에 있었다는 것이다.
당연히 코드를 바꿔도 변경이 될리가 없다.
UBUNTU 안에 있는 소스코드를 변경을 해야 스케폴드가 변경을 해줄텐데
엉뚱하게 윈도우 디렉토리에 있는 코드를 변경 해놓고
변경 안된다면서 이러고 있으면 스케폴드가 당황해 할 것이다.
스케폴드 설치
Skaffold 사용하려면 skaffold와 kubectl이 있어야하기에 설치가 필수.
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.0.0/skaffold-linux-amd64
sudo install skaffold /usr/local/bin/
wsl 내부 탐색
skaffold는 wsl에 설치, skaffold는 /home/root 에 설치되었다.
which skaffold
skaffold 디렉토리로 들어가도록 한다.
home/root/.skaffold 에 설치되었다.
C:\Git\osc-board-api
윈도우 우분투에서 윈도우 파일로 접근하려면 아래 경로를 넣어줘야한다.
mnt 디렉토리 아래 wsl, c 드라이브 갈 수 있는 모양이다.
/mnt/
예를 들면 아래 코드를 쓰면 윈도우의 c드라이브로 이동할 수 있다.
/mnt/c
gui로 접근하기
여러 방법이 있긴하지만 단순하게 생각하기로 했다.
그냥 인텔리제이에서 WSL 내부에 있는 소스코드를 변경하면 되는 것 아닌가 하는 생각을 했다.
gui로 접근할 수 있는 방법도 있었다 매우 간단하더라.
탐색기로 이동해서 아래 코드를 넣으면 ubuntu로 이동할 수 있다.
\wsl$
폴더 내부로 들어가보면 우분투가 구성하는 폴더들이 보인다.
인텔리제이로 소스코드를 열기
파일에서 OPEN 탭을 열어보자
스크롤을 내리다보면 WSL에 우분투20.04가 있다.
조금 더 내려보면 root 폴더 내부에 작업자가 github에서 가져온 소스코드 폴더가 있다.
osc-board-api 프로젝트를 열면 해결 된다.
과연 되나??
정상적으로 열렸다!
gradle jvm이 wsl에 없어 설치를 하라한다.
jdk를 우분투에 설치해주자
sudo apt update
sudo apt install openjdk-11-jdk
gradle setting 에서 wsl에 설치한 jdk가 발견된다.
선택해주고 저장해주도록 한다.
sdkman으로 설치할 것 --
terminal 을 열어 우분투 환경에 bash도 깔아준다.
skaffold 명령도 바로 된다.
리눅스 명령어도 작동한다.
스케폴드를 사용해보자!
skaffold build
빌드 성공 - 도커 허브에 성공적으로 올라갔다!
코드가 변경이되어도 바로 적용되는지 확인 해본다.
/api/boards/skaffoldtest 로 들어가면 hello skaffold2가 나오면 된다.
skaffold 태그로 이미지를 빌드하겠다
skaffold 태그로 정상적으로 업로드 푸시 되었다.
skaffold dev
코드 내부에 어떤 코드라고 바뀌면 변화를 감지해서 변경한다
성공적으로 작동한다
1. 윈도우 우분투에 skaffold를 설치.
2. 소스코드 디렉토리를 우분투에 가져다 놓고
3. IDE에서 해당 소스코드를 수정하면 된다.
윈도우에 작동 문제는 문제가 아니라
애초에 엉뚱한 디렉토리에서 작업을 해놓고 왜 안바뀌냐는 이야기였다.