GitLab CI에서 Milkcocoa를 움직여 보았습니다. #mlkcca

dotstudio 에서는 GitLab을 사용하고 있습니다.

Azure WebApps에 GitLab 연동으로 배포해 봅시다.

그래서 GitLab CI도 최근 사용하기 시작하고 있습니다.
오늘은 GitLab CI를 사용하여 Milkcocoa 응용 프로그램이 작동하는지 테스트해 보았으므로 소개합니다.

GitLab의 어드벤트 캘린더 프록시로 게시합니다.

Milkcocoa란?



GitLab의 어드벤트 캘린더로 Milkcocoa의 설명을 간소화합니다.
Milkcocoa는 실시간 통신, IoT 장치와의 연결 등을 쉽게 할 수 있는 백엔드 서비스입니다.
  • htps : // mlk? 코m/
  • Milkcocoa 도보 - 2016년 12월 버전 (+2016년 되돌아보기) #mlkcca
  • 어드벤트 캘린더도 있습니다 -> ぃ tp // 코 m / 아 d

  • 이번에 할 일



    Milkcocoa에는 Node.js의 SDK가 있으므로 이번에는 Node.js 애플리케이션에서 Milkcocoa를 이동하여 다른 애플리케이션과 연결해 보겠습니다.

    CI상에서 어플리케이션을 움직여서 CI의 제대로 된 사용법은 아니지만, 무료로 호스팅 서비스적으로 CI를 활용할 수 있으면 즐거울 수 있을 것 같다고 생각한 대로입니다.



    하는 방법



    먼저 Milkcocoa의 애플리케이션 ID를 얻으십시오.

    Milkcocoa 전송 테스트용 JS 샘플 이 근처도 참고로

    정보를 보내는 쪽에 send.js를 작성



    여기에서 Milkcocoa의 Send 메서드를 사용하여 정보를 보낼 수 있습니다.

    send.js
    'use strict'
    
    const MilkCocoa = require('milkcocoa');
    const milkcocoa = new MilkCocoa('アプリケーションID.mlkcca.com');
    const ds = milkcocoa.dataStore('message');
    
    setInterval(()=>{
      ds.send({v:1,time: new Date()}, (err, sended) => {
        console.log('送信:', sended);
      });
    },2000);
    

    send.js는 CI 측에서 작동합니다. 2초에 1회 send하는 프로그램입니다.

    수신자 receive.js 만들기



    receive.js
    'use strict'
    
    const MilkCocoa = require('milkcocoa');
    const milkcocoa = new MilkCocoa('アプリケーションID.mlkcca.com');
    const ds = milkcocoa.dataStore('message');
    
    ds.on('send', (sended) => {
      console.log('受信:',sended);
    });
    

    수중의 PC로 동작시킵니다. send가 발생하면 반응합니다.

    package.json



    package.json의 scripts에 다음을 지정하여 CI 측에서 npm run send를 실행하여 send.js가 시작되도록합니다.

    package.json
    
    
    
    "scripts": {
        "send": "node send.js"
      },
    
    
    
    "dependencies": {
        "milkcocoa": "^0.6.0"
      }
     
    
    
    

    또한 dependencies에 milkcocoa를 지정합시다.

    .gitlab-ci.yml 만들기



    gitlab-ci.yml
    image: node:7.2.1
    
    before_script:
      - npm install
    
    all_tests:
      script:
       - npm run send
    

    그대로 입니다만, 7.2.1의 Node.js를 사용할 수 있는 이미지로 npm install 하고 npm run send 를 실행합니다.

    시도해 보았습니다.



    CI의 화면에서 기동을 확인하면서, 수중의 PC측은 receive.js를 기동시킵니다.
    $ node receive.js
    

    이런 식으로 제대로 CI 측에서 움직이고 있는 send.js로부터 수중의 PC로 움직이고 있는 receive.js에 대해서 정보가 보내지고 있습니다.



    생각보다 평범하게 움직였습니다.

    끝에



    이것을 계속 가동시키고 있으면 어딘가에서 fail 하는지 계속 기동할 수 있을지, 원래 규약 위반인지는 모르기 때문에 우선 마지막으로 취소해 두었습니다. 이것을 무엇인가 실제의 어플리케이션등에서 활용할 때는 주의해 주세요.

    좋은 웹페이지 즐겨찾기