간편한 AWS Code Build 사용

4466 단어 AWS
AWS Code Build 나왔습니다.
travis-ci와circle-ci 같은 클라우드의 CI 서비스는 EC2와 마찬가지로 계량요금제가 특징이다.분당 최저 0.05달러부터 시작할 수 있습니다.사용하지 않을 때는 돈이 생기지 않지만, 대량으로 사용할 때는 블로그에 쓴 것처럼 간단하게 확대할 수 있다
수라장에 있을 때 사용률이 100%에 달했고 처리되지 않은 구축 요구가 증가했다.
이런 문제는 발생하지 않겠지.
그래서 우선 사용해 봤습니다.

제작 항목



프로젝트 설정 화면에서 프로젝트 이름, 원본 코드 획득 원본, 사용 환경, 역할 등을 설정할 수 있다.

소스 코드 가져오기 소스


소스 코드는 S3, 공용 코드 및 github를 선택할 수 있습니다.

환경을 이용하다


Ubuntu 환경에서 루비, node, go, 안드로이드 등 대부분의 언어와 환경이 완벽하다.또한 준비되지 않은 환경에서도 베이스 자체를 이용하여 환경을 구축하거나 docker 이미지를 이용하여 실현할 수 있다.

성과물


결과물은 S3의 물통에 지정된 이름의 파일에 저장된다.

구문 정의하기


원본 코드의 루트 디렉터리에서 명령을 설명하거나 만들 수 있습니다. buildspec.yaml이번에 고의 창고를 구축해 보았다.numa08/git-gitlab

version: 0.1

phases:
  install:
    commands:
      - sudo apt-get update -y && sudo apt-get install cmake -y      
      - go get github.com/codegangsta/cli
      - wget -O libgit2-0.24.1.tar.gz https://github.com/libgit2/libgit2/archive/v0.24.1.tar.gz
      - tar -xzvf libgit2-0.24.1.tar.gz
      - cd libgit2-0.24.1 && mkdir build && cd build &&  cmake -DTHREADSAFE=ON -DBUILD_CLAR=OFF -DCMAKE_C_FLAGS=-fPIC -DCMAKE_BUILD_TYPE="RelWithDebInfo" -DCMAKE_INSTALL_PREFIX=/usr/local .. && make && sudo make install && sudo ldconfig
      - go get gopkg.in/libgit2/git2go.v24
      - go get github.com/plouc/go-gitlab-client
  build:
    commands:
      - make
  post_build:
    commands:
      - env        
travis-ci와circle-ci로 잘 알려진 구축 정의yaml은 명령을 듬뿍 쓰는 유형입니다.또한 각 명령은 DockerfileRUN처럼 새로운 환경에서 실행되기 때문에 cd에서 작업 디렉터리를 변경할 경우&&로 연결해야 한다.

구축 실행


문서 기반 현재 구축된 실행
  • AWS용 콘솔 화면
  • AWS CLI
  • AWS SDK
  • HTTP API
  • 준비가 다 된 것 같습니다.github의 웹 페이지 훅을 터치하려면 스스로 설정해야 합니다.이번에는 콘솔 화면에서 실행되었다.

    구축 결과



    상당히 간단한 구축 화면.buildspec.yaml에 정의된 모든phase는 실행 결과와 시간을 볼 수 있습니다.구축 중인 로그는 실시간이 아니라 정기적으로 표시되는 것 같습니다.
    또한 구축 로그는cludwatch에 저장됩니다.

    이용 소감


    개인이 기다리고 또 기다리는 계량요금제의 CI 서비스입니다.소규모 그룹이 CI를 진행한다면 클라우드 서비스를 이용하면 매달 비용이 어쨌든 높아지기 때문에 팀의 개발 속도에 따라 비용을 바꾸는 메커니즘은 감사할 만하다.
    하지만 지금은 github를 개발 프로세스에 포함시키는 데 어려움이 있는 것 같다.
    우선, 구축 대상의 지점을 선택할 수 없습니다.github 기본 지점의 구축인 것 같지만 deploy 지점을 진행하려면 각 팀의 지점 전략에 따라 설정해야 합니다.아마도 코드build 환경에서git checkkout을 실행하면 될 것입니다.
    그리고 빌딩의 자동화는 아직 안 되는 것 같아요.물론 github의 웹 훅, lambda, appigateway 등을 스스로 설정하는 것은 가능하지만 자동으로 설정하고 유지할 수 있다면 기쁩니다.
    그리고 무엇보다 지금은 clone github의 prive repository를 사용할 수 없습니다.창고의 URL은 자동으로 https로 시작되며 deploykey 설정도 할 수 없습니다.cli와 http의 APIhttps://<username>:<token>@github.com/<owner>/<repo name>의 형식에 따라 privte repository도 clone을 할 수 있다.
    이상의 이유로github를 이용한 개발 절차에 편입하기 어렵다.하지만 서비스 중 치명적인 문제라고 할 수는 없다.나는 짧은 시간 안에 수정과 개선이 이루어질 것이라고 생각한다.
    종량제 CI 서비스는 소규모 팀의 개발에서 경제에 유리할 수 있다.향후 업데이트가 주목된다.

    좋은 웹페이지 즐겨찾기