Go 원격 개발 서버 세팅

블로그 서버에 블루투스 동글이를 달아서 샤오미 온습도계 값을 읽어서 DB에 저장할려고 했습니다. 언어는 Go를 선택했고 블루투스 라이브러리를 찾아보니 윈도우와 리눅스를 동시에 제대로 지원하는게 없더군요. (개발환경 윈도우, 타깃 리눅스)

어차피 리눅스 서버에서 굴러갈테니 서버에 go 원격 개발 세팅을 찾아보고 적용해봤는데 구형arm이라 그런지 delve가 지원하지 않는 플랫폼이라고 떠서 걍 놋북에 버추얼박스 깔고 거기에 세팅했습니다.

개발 완료되면 arm으로 빌드해서 굴리면 될테니깐요.

서버는 우분투 20.04.3 LTS를 사용했습니다.

https://go.dev/doc/install 를 참고해서 최신버전 Go를 설치합니다.
apt 명령으로 설치했더니 2년전에 나왔던거던가 구형이 깔리더군요.

go env

GOPATH값을 확인합니다.

mkdir -p ./go/src/bluetoothTest

작업할 폴더를 하나 만들어 줍니다.

이번엔 VSCode에서 Remote-SSH 확장을 설치합니다.

하단데 >< 버튼을 누르면 위처럼 메뉴가 뜨는데 “Connect to Host…” 를 선택합니다.

Configure SSH Hosts…를 선택합니다.

SSH 세팅파일을 어디에 생성할건지 선택하는데 그냥 위 두개중 선택하거나 저처럼 특정 폴더에 저장할려고 하면 세번째 Settings를 선택합니다.

저는 위의 경로로 세팅했습니다.

해당파일을 열면 위와 같이 나오는데

alias는 서버 이름
hostname은 서버아이피나 도메인
user는 접속 계정명을 쓰면 됩니다.

저장하고 다시 ><버튼을 눌러 반복하면 위에 alias에서 적은 명칭이 나옵니다. 선택합니다.

접속 비번을 입력합니다.

아까 만든 작업폴더를 열고

package main

import "fmt"

func main() {
    fmt.Println("test입니다")
}

간단한 소스를 하나 만들어 저장합니다. F5키를 눌러 “Start Debugging” 을 선택하면…

Go 확장이 필요하다고 합니다.
로컬 개발환경이 세팅되어 있어도 추가로 필요하다고 합니다.

설치되어 있던 Go 확장에 위처럼 추가로 Install in SSH 가 나옵니다. 설치합니다.

확장이 설치되면 우하단에 이런 메세지가 뜨는데 Install All을 눌러줍니다.
Go개발할때 도움을 주는 툴들인데 이게 구형 arm 서버용은 지원안하는건지 저는 블로그 서버에 세팅하다가 여기서 막혀서 (디버깅을 못함) 걍 버추얼 박스에 세팅했습니다.

아무튼 간단한 소스 돌려보니 잘 되긴 합니다.

error layer=debugger can’t find build-id note on binary 이건 검색을 해봐야겠네요.


Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다