친구와 함께 같이 개발을 진행 하다가 작업환경 설정에 익숙하지 않고 직접 나도 다시 세팅하려니 너무 번거로워서 협업하여 개발 중인 Repository 에 Gitpod 를 적용해보기로 했다
+탭도 하나 구매했는데 탭으로도 개발 작업 할 수 있으면 편하겠다 싶었다..
Gitpod은 GitHub, GitLab, Bitbucket 등 Git 기반의 모든 저장소(Repository)를 클릭 한 번으로 완벽하게 구성된 개발 환경으로 만들어주는 서비스이다. 웹 브라우저만 있다면 언제 어디서든 코드를 작성하고 실행하며 협업할 수 있도록 돕는다.
전통적인 개발 환경은 다음과 같은 문제점들을 가지고 있었다:
Gitpod은 이러한 문제들을 '클라우드 기반의 일관된 개발 환경'을 제공함으로써 해결한다.
gitpod.io/#를 붙이거나 Gitpod 대시보드를 통해 클릭 한 번이면, 해당 프로젝트에 필요한 모든 도구와 의존성이 미리 설정된 개발 환경이 몇 초 내에 준비된다..gitpod.yml 파일에 워크스페이스 설정(의존성 설치, 빌드 명령 등)을 정의하면, Gitpod은 코드가 변경될 때마다(예: Git Push) 워크스페이스를 미리 빌드해 놓는다. 덕분에 개발자가 환경을 열자마자 코딩을 시작할 수 있다.
작업중인 Repository 를 연결하고, 나는 Vscode 로 설정했다

사양을 선택하고 Continue 를 통ㅇ해 생성 하면..

쉽게는 안된다..😩

권한문제인것 같은데 메일을 확인해보니 third-part 를 허용해줘야된다고한다 링크를 들어가서

Request 버튼 딸깍 하니 문제가 해결되었다
Workspace를 보면 연결된 목록이나오고

접속해보면 브라우저에서 vscode 화면이 나온다 👍
// helloworld.js
import express from 'express';
import dotenv from 'dotenv'; // .env 파일에서 환경 변수를 로드하기 위해 사용
dotenv.config();
const app = express();
const port = process.env.PORT || 3000;
// JSON 요청 본문을 파싱하기 위한 미들웨어
app.use(express.json());
// URL-encoded 요청 본문을 파싱하기 위한 미들웨어
app.use(express.urlencoded({ extended: true }));
// 기본 경로 (루트)에 대한 GET 요청 처리
app.get('/', (req, res) => {
res.send('Hello World! This is the root of the sanner_worker.');
});
// /helloworld 경로에 대한 GET 요청 처리
app.get('/helloworld', (req, res) => {
res.send('Hello World from /helloworld API!');
});
// 서버 시작
app.listen(port, () => {
console.log(`Server running on port ${port}`);
console.log(`Access it at: http://localhost:${port}`);
console.log(`Or via Gitpod URL once exposed.`);
});
대충 hello world 코드를 작성해서
pm2 start helloworld.js
실행을 해보면 

잘실행이 된다👏👏👏
.gitpod.ymlGitpod 워크스페이스에서 웹 서버나 API 서버 등을 실행할 때, 이 서버에 외부에서 접속하려면 포트를 적절히 설정해야 한다. .gitpod.yml 파일의 ports 섹션은 워크스페이스 내에서 열리는 포트들을 Gitpod이 어떻게 다룰지 정의한다.
ports 설정 예시ports:
- port: 3000 # 필수: 서버가 사용하는 포트 번호를 명시한다. (예: Node.js 앱)
onOpen: open-browser # 선택: 워크스페이스 시작 시 이 포트에 대해 Gitpod이 취할 동작을 지정한다.
visibility: public # 선택: 이 포트로 열리는 URL의 접근 권한을 설정한다. (기본값은 'private')
- port: 8080 # 다른 서버(예: 개발용 프론트엔드 서버)가 사용하는 포트
onOpen: open-preview # IDE 내에서 미리보기 패널로 연다.
visibility: private # Gitpod에 로그인한 사용자만 접근을 허용한다.
ports 옵션 상세 설명ports 섹션 아래 각 포트는 여러 옵션을 가질 수 있다.
port (필수)
3000, 8080, 5173 등.onOpen (선택)
open-browser: 새 웹 브라우저 탭을 열어 해당 포트의 URL로 접속시킨다. (기본값)open-preview: Gitpod IDE 내부에 분할 화면으로 미리보기 패널을 열어준다. 간단한 웹 앱 미리보기에 유용하다.notify: 포트가 열렸다는 알림만 표시한다. 사용자가 직접 클릭하여 접속할 수 있다.ignore: 아무런 동작도 하지 않는다. 포트는 열리지만, Gitpod이 자동으로 사용자에게 보여주거나 알리지 않는다.visibility (선택)
public: 인터넷상의 누구나 이 포트의 URL에 접근할 수 있다. (예: https://3000-워크스페이스ID.gitpod.io) 디버깅이나 외부 테스트를 위해 일시적으로 사용된다.private: Gitpod에 로그인한 사용자만 이 포트의 URL에 접근할 수 있다. 보안상 더 권장되는 설정이며, 팀원 간 공유에 적합하다. (기본값)private-internal: 워크스페이스 내부에서만 접근 가능하다. 외부로 노출되지 않는다. 주로 내부 서비스 간 통신이나 백그라운드 프로세스에 사용된다.이 설정들을 통해 Gitpod 워크스페이스의 네트워크 환경을 유연하게 제어할 수 있다. 특히 visibility 옵션은 보안과 직접적으로 연관되므로 신중하게 선택하는 것이 중요하다.
Gitpod 연결해야지 해야지 했었는데... 막상 해보니 금방하기도 했고 재미있고 유익했던것 같다 시간이되면 Github Action 같은것도 같이 연동해서 환경을 자동적으로 세팅할 수 있게 해봐야겠다