Tag: google cloud platform

使用Google Cloud Build的Vapor 3的简单CD流水线— git push→Docker容器→GKE中可用的服务

我有一个用Swift 4.1编写的Vapor 3项目,我想创建一个简单的CD管道,以便在每次git push送到分支时(或当有新标签时),都将在Google Kubernetes Engine中构建并部署一个容器,其API可从http://[INGRESS_IP]/projectname/获得,GKE中已配置了一个群集,该群集已配置Istio 1.0作为服务网格和定义的路由。 Vapor 3 Web框架 您可以在https://vapor.codes/上查看有关Vapor 3的更多信息,以及在https://docs.vapor.codes/3.0/上提供的文档。 这里特别令人感兴趣的是Swift 4.1与高性能Apple NIO非阻塞框架的结合。 如果要利用并行计算,多核体系结构和事件驱动的设计模式,则可能希望为项目采用非阻塞体系结构。 Vapor 3还带有一个异步库。 您可以使用的越多,并行化就越多。 云构建 Google Cloud Build是启用CD管道的简单工具; 在触发器方面,它支持推送到git分支和标签(与Google自己的代码仓库,GitHub和Bitbucket的Cloud Source Repository集成)。 已经有很多可用的云构建器可以作为单个步骤添加到管道中( 例如 ,docker,mvn,go,kubectl等)。 创建Dockerfile 配置Kubernetes部署和服务 配置Istio网关和虚拟服务 在cloudbuild.yaml配置管道 在Google Cloud Build中定义构建触发器( 例如,推送,标记) 1.创建Dockerfile 我使用了两个阶段的多阶段Dockerfile: 在Swift 4.1容器映像上构建Vapor 3服务 编译后的文件将复制到干净的生产映像中,从而生成一个小容器。 此示例使用ubuntu:16.04但有些人也使用alpine,显然有一些好处。 我没有尝试过alpine版本,如果它对您有用,请分享您的配置文件和/或评论 #Builder图像-构建代码 #================================================== ============== 来自swift:4.1作为构建者 运行apt-get -qq更新&& rm -r / var […]

创建软件生态圈:MyBooks教程:概述

您好,欢迎访问MyBooks软件生态圈教程! 本教程将引导您使用“家庭图书馆目录”作为示例来创建软件生态圈。 我已经使用(或误用了)术语“软件生态圈”作为我们将用来创建应用程序的所有软件的包含概念。 我还没有找到一个更好的术语,虽然生态圈对不同的人意味着不同的事情,但是比尝试提出自己的术语要容易得多。 为什么要建家庭图书馆? 它很简单,当我进入书店I时,我需要一种方法来跟踪我图书馆中已有的东西。 是的,已经有可以执行此操作的应用程序,但是我也想同时创建一个软件生态系统教程。 这是一个非常简单的问题,该领域应该是可以普遍理解的。 我将其命名为“我的家庭图书馆目录MyBooks”,因为目前似乎没有使用🙂。 至于功能,这是我们将要完成的工作: 将信息存储在云中。 (是的,我可以在专用服务器上执行此操作,但这不是那么有趣,不是吗?) 具有Web应用程序界面(是的,iOS应用程序就足够了,但是请参阅第一个项目符号)功能应包括 图书的CRUD操作(CRUD ==创建,读取,更新,删除) 地点的CRUD操作(我有两套公寓,但我不确定哪本书在哪里) 能够借出书籍。 对书进行评分的能力。 能够对一本书做笔记。 允许同一本书的多个副本。 能够搜索/过滤书籍: 按作者 按标题 按评分 按贷款状态 按位置 能够链接或标记同一本书的多个版本。 (对于不同的印刷品,ISBN通常是相同的,但是不同的版本具有不同的ISBN) 有一个iOS应用程序。 除了Web应用程序界面之外,iOS应用程序的功能还应包括: 扫描ISBN条形码。 该软件生态圈将由以下内容组成: 云中的简单数据库 基于云的Web服务,允许应用程序与数据交互 面向最终用户的基于云的Web应用程序 适用于我们最终用户的本地iOS应用程序 尽管我有一个计划,但[解决方案]总是有无数的路径,因此某些计划在技术上的路径可能会或可能不会被使用: Google Cloud Platform MySQL的 红宝石 反应 迅速 红宝石矿 MySQL工作台 吉特 Node.js npm 我不会深入研究每种技术,而只是建立一种建立软件生态圈的可行方法,并展示如何将各个部分组合在一起以提供完整的解决方案。 在开始之前,这里有一些我将要用做的决定的基础: 安全至上。 尽可能使用现有的库和技术。 使它尽可能简单,但不要简单。 为小规模发展,但为大规模计划。 […]

即使它不支持IPv6,如何在Google Cloud上运行iOS应用程序

苹果新的app store策略已于6月1日生效,因此提交给App Store的所有应用必须支持纯IPv6networking ( https://developer.apple.com/news/?id=05042016a )。 如何在Google云端平台上托pipe仅支持IPv4( https://cloud.google.com/compute/docs/networking )并且仍然通过Apple审核stream程的应用?