클라우드 IDE "Gitpod"을 사용해 봤는데 예상보다 더 잘 사용할 수 있을 것 같아요.

이 글에 소개된 구름 IDE'Gitpod'은 보기에 매우 편리해 보여서 한번 만들어 보았습니다.
GitHub 변신!웹 개발을 위한 만능 도구가 될 수 있는 서비스를 정리했습니다! -paiza 개발 로그
https://paiza.hatenablog.com/entry/2019/03/13/GitHub%E3%81%8C%E5%A4%A7%E5%A4%89%E8%BA%AB%EF%BC%81Web%E9%96%8B%E7%99%BA%E5%90%91%E3%81%91%E3%81%AE%E4%B8%87%E8%83%BD%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AB%E5%A4%89%E3%81%88%E3%81%A6%E3%81%8F%E3%82%8C
"Gitpod"는 통합 클라우드 IDE에서 GitHub 저장소 소스 코드를 자유롭게 편집할 수 있는 서비스입니다.
Theia 기반의 VSCode 라이센스 코드 편집기는 다양한 기능과 확장성을 가지고 있어 프로그래밍에 가장 적합한 IDE 중 하나라고 할 수 있다.
사용 방법은 간단합니다. 저장소 페이지를 열고 URL의 시작 부분에 "gitpod.io#"를 추가합니다.

Gitpod - Code Now!
https://www.gitpod.io/
In a blink of an eye from any GitHub project, pull request, or issue to a
ready-configured, fully-featured online IDE and terminal.
아래 보도된 자료 창고를 이용해 보세요.Docker에서 개발 환경을 준비하고 AWS Lambda에 배포할 수 있는 저장소입니다.
Docker에서 Go 개발 환경을 만들고 Serverless를 사용하여 AWS Lambda-Qiita에 배포
https://qiita.com/kai_kou/items/fc3eab987d7ed2d6f65b
https://github.com/kai-kou/deploy-in-go-lambda-with-sls-on-docker

전제 조건


브라우저가 있었으면 좋겠어요.
  • GitHub 계정 있음
  • AWS 계정 있음
  • AWS Lambda
  • 에 배포
  • 브라우저 있음
  • 클라우드 IDE이므로 브라우저 필수
  • Gitpod 시작 IDE 액세스


    GitHub 페이지 URL 헤더에 추가gitpod.io#하여 브라우저를 통해 액세스합니다.
    이번 상황에서 아래와 같다.
    액세스 시 Gitpod 페이지가 표시되며 LOGIN WITH GITHUB & LAUNCH WORKSPACE 버튼을 클릭합니다.

    처음 액세스할 때 GitHub 계정에 Gitpod 액세스 권한을 부여하는 페이지가 표시됩니다.권한 부여gitpod-io 단추를 누르면 권한을 부여합니다.

    Gitpod를 사용하려면 사용자 등록이 필요하기 때문에 Gotpod의 계정 만들기 페이지로 이동합니다.Terms of Service.의 내용, 검토, "프로세스하려면 서비스 약관에 동의하십시오."태그 요소의 표시 속성을 수정합니다.

    클라우드 IDE 환경 구축을 시작합니다.환경이 Docker를 사용하는 것 같습니다.
    그러면 Docker 컨테이너 on Docker 컨테이너는 안 될 것 같은데...어떡해.

    환경 구축이 완료되면 IDE를 표시합니다!Welcome 모드가 처음 표시됩니다.


    물론 Docker가 없으면 설치할 수 없습니다.

    자체 Dockerfile을 사용하여 IDE 시작


    공식 문서를 읽은 후 자신의 Dockerfile을 사용하는 방법에 대한 기록이 있습니다.
    Docker Image - Gitpod Documentation
    https://docs.gitpod.io/42_Config_Docker.html
    If the standard Docker image that is provided by Gitpod does not include all the tools you need for developing your project, you can provide a custom Docker image.
    (구글 번역) Gitpod에서 제공하는 표준 Docker 이미지가 프로젝트 개발에 필요한 모든 도구를 포함하지 않으면 사용자 정의 Docker 이미지를 제공할 수 있습니다.
    저장소에 .gitpod.yml 가 있는 경우 에서 IDE 환경을 구축할 수 있습니다.어렵기 때문에 Gitpod에서 파일을 추가해 보십시오.파일을 추가하는 방식은 특별한 것이 없으므로 IDE나 콘솔에서 추가합니다.
    .gitpod.yml
    image:
      file: Dockerfile
      context: docker
    
    파일을 추가하려면 GitHubpush에 파일을 추가해야 하므로commitpush.
    처음에는 권한이 없으므로 IDE 또는 콘솔에서 사용할 수 없습니다push.
    $ git push
    remote: Invalid username or password.
    
    Dockerfile Go 및 Serverless를 설치합니다.
    Dockerfile
    FROM golang:latest
    
    ENV SERVERLESS [email protected]
    ENV GOPATH /go
    ENV PATH $GOPATH/bin:/root/.yarn/bin:$PATH
    
    RUN apt-get update && \
        apt-get install git
    RUN go get -u github.com/rancher/trash
    RUN curl --silent --location https://deb.nodesource.com/setup_6.x | bash - && \
        apt-get install -y nodejs
    RUN curl -o- -L https://yarnpkg.com/install.sh | bash
    RUN npm install -g $SERVERLESS
    
    IDEpush에서 장애가 발생하면 오류 대화 상자에 Grant Permissions 단추를 사용하여 권한을 부여합니다.



    권한이 부여되면 Gitpod의 액세스 제어 페이지로 이동하지만 IDE로 계속 돌아갑니다.

    IDE에서 GitHubpush에 들어간 후 IDE의 File → Stop Workspace에서 환경을 중지합니다.
    대화상자에서 지정한 전체 항목 범위에 대한 설정입니다.이렇게 하면 Gitpod 대시보드에 저장소 정보가 남아 재부팅이 쉬워집니다.Do it 버튼을 클릭하면 대시보드에서 사라집니다. GitHub URLgitpod.io#이 포함된 URL에서 다시 액세스하십시오.


    대시보드에 정보가 있으면 START 버튼을 사용하여 IDE를 시작합니다.
    .gitpod.yml 파일을 포함하는 저장소이므로 파일에 지정된 Dockerfile 에서 Docker 이미지를 생성하면 환경이 향상됩니다.캡처 타이밍을 놓쳤지만 Docker 이미지로 작성된 로그는 아래로 흐릅니다.

    IDE가 시작되면 Dockerfile 에 따라 이미지가 생성되었는지 확인하십시오.

    Go 구축 및 AWS Lambda 배포


    환경이 이미 준비되었기 때문에 AWS Lambda에 구축하고 배치해야 합니다.
    기본적으로 보도의 순서에 따르지만 이용docker-compose이 없기 때문에 일부 환경 변수를 설정해야 한다.
    Docker에서 Go 개발 환경을 만들고 Serverless를 사용하여 AWS Lambda-Qiita에 배포
    https://qiita.com/kai_kou/items/fc3eab987d7ed2d6f65b

    Go 구축


    환경 변수 설정GOPATH, go build으로 구축합니다.go get 실행할 때 Warning을 표시하지만 무시합니다.구축에 성공하면 bin/main 파일이 생성됩니다.
    $ cd hello-go-lambda/
    $ export GOPATH=$HOME/go
    $ go get
    go get: no install location for directory /workspace/deploy-in-go-lambda-with-sls-on-docker/hello-go-lambda outside GOPATH
            For more details see: 'go help gopath'
    $ GOOS=linux go build -o bin/main
    $ ls bin/
    main
    

    AWS lambda에 배포


    Serverless를 사용하여 AWS Lambda에 배포합니다.AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 를 환경 변수로 설정합니다.
    $ export AWS_ACCESS_KEY_ID=xxxxx
    $ export AWS_SECRET_ACCESS_KEY=xxxxx
    $ sls deploy
    

    배치가 끝난 후에 실행을 시도하십시오.
    $ sls invoke -f hello
    {
        "message": "Go Serverless v1.0! Your function executed successfully!"
    }
    

    다행이다.
    필요하지 않은 경우 sls remove 리소스를 삭제합니다.

    총결산


    'Coder'와'AWS Cloud9'등 몇 개의 클라우드 IDE가 등장하지만 GitHub 자료 라이브러리에서 바로 환경을 준비할 수 있는'Gitpod'도 편리하게 사용할 수 있다.

    참고 자료


    GitHub 변신!웹 개발을 위한 만능 도구가 될 수 있는 서비스를 정리했습니다! -paiza 개발 로그
    https://paiza.hatenablog.com/entry/2019/03/13/GitHub%E3%81%8C%E5%A4%A7%E5%A4%89%E8%BA%AB%EF%BC%81Web%E9%96%8B%E7%99%BA%E5%90%91%E3%81%91%E3%81%AE%E4%B8%87%E8%83%BD%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AB%E5%A4%89%E3%81%88%E3%81%A6%E3%81%8F%E3%82%8C
    Gitpod - Code Now!
    https://www.gitpod.io/
    Docker에서 Go 개발 환경을 만들고 Serverless를 사용하여 AWS Lambda-Qiita에 배포
    https://qiita.com/kai_kou/items/fc3eab987d7ed2d6f65b
    Docker Image - Gitpod Documentation
    https://docs.gitpod.io/42_Config_Docker.html
    GitHub 온라인 IDE "GitPod"Docker 환경 사용자 정의
    https://tekunabe.hatenablog.jp/archive/2018/12/30

    좋은 웹페이지 즐겨찾기