doupao6698 2014-07-07 15:46
浏览 16
已采纳

在Travis中编译App Engine应用程序

Is there any way to run the compiler on an App Engine application written in Go without continue to serve the application with the development server and instead get an exit code?

Because I want to add a check in my automated tests in Travis that the application actually compiles.

To clarify: I have access to the App Engine SDK / Development Server in Travis, but I dont want to run goapp serve since it never exits.

  • 写回答

2条回答 默认 最新

  • dqcuq4138 2014-07-20 04:47
    关注

    Without actually implementing test, your solution looks pretty hacky. Why not use goapp build? Here's my .travis.yml:

    language: go
    go:
    - 1.2.1
    
    # Grab newest version and suck down
    install:
        - export FILE=go_appengine_sdk_linux_amd64-$(curl https://appengine.google.com/api/updatecheck | grep release | grep -o '[0-9\.]*').zip
        - curl -O https://storage.googleapis.com/appengine-sdks/featured/$FILE
        - unzip -q $FILE
    
    # Run build and tests
    script:
        - ./go_appengine/goapp test ./tests; # If you are testing
        - ./go_appengine/goapp build ./packagedir; # Wherever you keep your stuff
    

    For reference on tests or just to see a project that builds

    Edit:

    It has been awhile, but I noticed recently that some of my builds randomly break. It is infuriating and I have occasionally hardcoded SDK values to overcome this. No more. Here's a very hacky implementation of grabbing the first featured (and thus hosted as /updatecheck fails to always return a hosted version) of the SDK desired:

    export FILE=$(curl https://storage.googleapis.com/appengine-sdks/ | grep -o 'featured/go_appengine_sdk_linux_amd64-[^\<]*' | head -1)
    

    For just the file:

    export FILE=$(curl https://storage.googleapis.com/appengine-sdks/ | grep -oP '(?<=featured/)go_appengine_sdk_linux_amd64-[^\<]*' | head -1)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办