Swift 3에서 Kitura 서버 응용 프로그램을 실행하려면

4245 단어 SwiftSwift3.0Kitura
참고 : Swift 사양이 아직 전혀 안정적이지 않으므로 README에 쓰여진대로 환경을 준비하는 것이 기본입니다. 여기에 쓰여진 것은 곧 풍화될 우려가 있습니다.

Swift를 공부하고 싶었지만 앱을 만드는 것은 지루해 졌기 때문에 Kitura를 시도하기로 결정했습니다.
현재 Kitura의 master 브랜치는 Swift 3의 최신판에 대응이 끝나고 있어, 지금부터 Swift를 공부한다면 3일 것이라고 하는 것으로, 이것을 열심히 움직이기로.

빌드 환경



커밋 55e73b24의 README에 작성된 docker를 사용하는 방법은 현재 작동하지 않습니다 (docker의 이미지가 업데이트되지 않음).
README에서 빌드에 필요한 것을 읽고 자체 제작합니다.
  • Swift는 DEVELOPMENT-SNAPSHOT-2016-06-06-a version of Swift 3 trunk (master)
  • 종속 패키지는 공식 페이지에서 확인
  • 우분투는 14.04 또는 15.10

  • Kitura 종속 패키지는 README에서 확인

  • libdispatch 필요합니다.
  • 이 커밋 7b5b57c3 설치 절차는 Initial focus is on ubuntu 15.04.로 작성되었습니다.
  • 이 녀석은 또한 여러 패키지에 의존합니다


  • 그렇다면 요약하면 ubuntu 15.10에 Swift 3 DEVELOPMENT-SNAPSHOT-2016-06-06-a와 libdispatch를 설치하면 빌드 할 수 있습니다.

    docker로 환경 만들기



    위의 빌드 환경은 아마 건간 바뀔 것으로 예상되므로 아래와 같은 느낌으로 docker로 작성하기로 하겠습니다.
    FROM ubuntu:15.10
    
    RUN apt-get update -y && apt-get install -y \
      curl git build-essential \
      clang libicu-dev \
      autoconf libtool libkqueue-dev libkqueue0 \
      libcurl4-openssl-dev libbsd-dev libblocksruntime-dev \
      pkg-config systemtap-sdt-dev
    
    RUN curl https://swift.org/builds/development/ubuntu1510/swift-DEVELOPMENT-SNAPSHOT-2016-06-06-a/swift-DEVELOPMENT-SNAPSHOT-2016-06-06-a-ubuntu15.10.tar.gz > /tmp/swift.tar.gz && \
      tar -xvzf /tmp/swift.tar.gz --directory / --strip-components=1 && \
      rm -f /tmp/swift.tar.gz
    
    ENV PATH /usr/bin:$PATH
    
    RUN git clone --recursive -b experimental/foundation https://github.com/apple/swift-corelibs-libdispatch.git && cd swift-corelibs-libdispatch && sh ./autogen.sh && ./configure --with-swift-toolchain=/usr --prefix=/usr && make && make install
    

    샘플을 빌드하고 실행해보기



    다음 명령으로 swift 환경을 시작합니다. 8090 포트에 서버가 서 있기 때문에 미리 열어 둡니다.
    docker build -t swift-kitura .
    docker run --privileged -p 8090:8090 -i -t --name mykitura swift-kitura /bin/bash
    

    샘플은 Kitura-Sample 를 움직여 보겠습니다… develop 브랜치가 있으므로 그쪽을 clone 해 봅시다.
    git clone https://github.com/IBM-Swift/Kitura-Sample -b develop && cd Kitura-Sample
    make run
    
    Starting an HTTP Server on port 8090... 라고 표시되고 나서, localhost 8090 에 액세스 해 아래와 같이 표시되면 성공입니다.



    이상이지만



    보시다시피, Swift 공부는 아직 완성되지 않았습니다. Docker의 좋은 공부가되었습니다.

    좋은 웹페이지 즐겨찾기