GCP reliable google cloud infrastructure, devops lab

2023-11-18

最后更新2022/03/13

先到menu source repository里建立repository,还是不很好找,source repository在CI/CD分类里面。

点右上角的add repository按钮,输名字devops-repo,选择好对应的project就创建完了,然后开个cloud shell,clone一下repository:
gcloud source repos clone devops-repo

然后用cloud console提供的edit,在devops-repo目录下搞个main.py的文件,实验中用的是python flask的web server example

再搞一个templates子目录,把index.html和layout.html放进去,这个是网页;

把requirements.txt放到devops-repo,这个是运行python需要的依赖,里面有flask和itsdangerous版本要求信息

然后回shell,在devops-repo执行add,把所有文件添加到git跟踪里面:
git add --all

配置一下git全局信息,只需要一次:
git config --global user.name “Harry”
git config --global user.email “xxxx.xxxx”

commit(这是local commit):
git commit -a -m “init commit”

再push到repository:
git push origin master

这时在repository web就能看到新添加的各个文件和目录结构了。

下一个,再搞个Dockerfile,用于docker build:
FROM python:3.7
WORKDIR /app
COPY . .
RUN pip install gunicorn
RUN pip install -r requirements.txt
ENV port=80
CMD exec gunicorn --bind :PORT --workers 1 --threads 8 main:app

据说gunicorn是web server,那和flask有啥区别呢?可能,flask是web frame,但本身并非server,需要一个web server提供基础支持,以后再研究,其它的都一看便知,必须的。

build一下docker:
gcloud builds submit --tag gcr.io/$DEVSHELL_PROJECT_ID/devops-image:v0.1 .

gcr.io/$DEVSHELL_PROJECT_ID就是在repository创建的时候自动生成的目录,用于存放build的devops-image文件。然后在cloud console container registory page应该能看到生成的文件。container registory还是很难找,在CIDI分类里。

下面要创建个承载docker的vm,和创建普通vm一样,但是有一个container一项,要增减内容,点进去之后image要选刚才生成的devops-image

再到cloud build(还在CI/DI子菜单里),看看build history,应该有一个新的entry,下面做个trigger,这样以后就自动build,不用每次手动了:
点trigger,此时应该是空的;
右侧上面有manage repositories,会显式可用的repositories
在对应的repository右边有三个竖点,点一下能看到add trigger选项,加一个。
填完trigger名字之后,在下面有Source->Branch,选.* any branch,这样就不会单独只build master(缺省)
再往下,Configuration里面有type,选Dockerfile

其它都是缺省,然后create,再run一下验证,然后回到history看执行行情况,注意,这个run test可能不成功,因为刚才已经有了一个build,也就是文件存在了,看详细的trigger执行可以看到问题所在。

再执行一下commit和push,然后看trigger history,这时候挥发先trigger成功被触发,并执行成功。

查看具体execute detail,能看到生成的image地址,把这个加到新创建vm的container image里面(不是boot disk那个,有单独container一大项),理论上就可以deploy了,但我做室验没成功,时间太紧,以后再找机会,再搞一次。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GCP reliable google cloud infrastructure, devops lab 的相关文章

  • DevOps极速入门丨Gitlab丨Jenkins丨harbor丨CICD丨自动化丨运维开发

    DevOps极速入门丨Gitlab丨Jenkins丨harbor丨CICD丨自动化丨运维开发 一 DevOps介绍 软件开发最开始是由两个团队组成 开发计划由开发团队从头开始设计和整体系统的构建 需要系统不停的迭代更新 运维团队将开发团队的
  • GitHub 操作发布标签

    在 GitHub 中创建发布后 我会触发 GitHub 操作 在此操作中 我想从发布中获取一些数据 这可能吗 例如 我想获取标签 然后使用这个标签作为NuGet包版本 有没有办法从工作中获取这些数据 您可以使用 github ref or
  • Google Cloud Kubernetes Ingress 静态 IP 地址未反映且与设置不同

    我正在尝试在 Google Cloud 上使用 GKE 部署完整的 Web 应用程序 后端为 Nodejs 前端为 Angular 然后为其启用 SSL 我创建了一个全局 IP 地址 随后在列表中看到了它 gcloud 计算地址创建 mat
  • 如何将 Python 添加到 PATH

    目录 如何在 Windows 上将 Python 添加到 PATH 如何在 Linux 和 macOS 上将 Python 添加到 PATH 了解什么是 PATH 了解 PATH 中顺序的重要性 在基于 UNIX 的系统上管理您的 PATH
  • Tekton 构建容器镜像

    Tekton 构建容器镜像 介绍如何使用 Tektonhub 官方 kaniko task 构建docker镜像 并推送到远程dockerhub镜像仓库 kaniko task yaml文件下载地址 https hub tekton dev
  • docker swarm模式多个服务同一端口

    假设您的拓扑上有两个服务 API 网页界面 两者都假设在端口 80 上运行 在 docker swarm 上 当您创建服务时 如果您想在集群外部访问它 您需要公开并将端口从服务映射到节点 外部端口 但是 如果您将端口 80 映射到 API
  • 如何计算 docker 限制

    我创建了我的码头工人 Python Flask 如何计算内存和 CPU 的限制 我们是否有一些工具可以在具有不同限制的 docker 上运行性能测试 然后建议设置的最佳限制数字是多少 对于已经在容器内运行的应用程序 您可以使用docker
  • 2024年度 ROTS - 实时操作系统 Top 15

    RTOS 实时操作系统 这里说的 RTOS 并非新星球大战电影中的机器人 而是物联网设备 航空系统 空中交通管制等背后的无声协调者 就在地球上 RTOS 或称实时操作系统 设计它们是为了更好的管理资源 以及为一些对时间点有精确要求的应用运行
  • Azure Linux 应用服务:从 DevOps 管道部署后安装包

    我目前正在 Azure Devops 中设置 CI CD 管道 以在 Linux 托管应用程序服务 而不是 VM 上部署 NodeJS 应用程序 我的构建和部署都很顺利 但我需要确保在部署应用程序后在环境中安装一些软件包 问题是 无论如何a
  • Azure DevOps Webhooks(服务挂钩)缺少描述或重现步骤等字段

    我正在开发 ASP NET Core 5 项目 该项目将使用我组织的 Azure DevOps Service Hooks Webhooks 的订阅 我将分析事件有效负载的数据 和元数据 我从这里检查了事件有效负载包含哪些内容 https
  • 在ansible中使用连字符

    我正在学习 Ansible 但我很困惑何时在剧本中使用连字符 何时不使用连字符 据我所知 连字符用于 Ansible 中的列表 例如 my first playbook hosts webservers why did we use hyp
  • 如何在 Dynamics 365 On-Premise 中使用 EasyRepro 自动登录

    我正在尝试使用 Dynamics 365 On Premise 中的 EasyRepro 进行自动化 UI 测试 我成功完成了测试 但遇到了一个问题 我无法自动登录到我的 Dynamics 365 Organization 下面是我使用的代
  • Jenkinsfile when-branch 设置的模式评估是什么?

    我正在尝试检测阶段内when 语句的分支模式 像这样 stage deploy to staging agent label some node when branch feature steps sh deploy pr sh 如果我想要
  • 计划错误:尚未使用 Cloud Resource Manager API

    当我尝试跑步时 steps id Plan Terraform name hashicorp terraform light args plan 在 Cloud Build 中 我收到错误 Error Error reading Proje
  • 在 Premesis 或 Bluemix 等 PaaS 上使用 XPage 进行 DevOps

    使用 XPage 实现 DevOps 的最佳方式是什么 多个开发人员作为一个团队工作 本地服务器 Dev QA Prod 我们可以复制到 Bluemix 吗 源代码控制自动化测试 UI 应用程序 使用测试框架对业务逻辑进行单元测试 自动化部
  • 无法终止容器::尝试终止容器,但未收到退出事件

    我无法停止 删除或终止我的 docker 容器 下面给出的命令及其各自的错误消息 1 docker stop
  • 将 APK 发布到 Play 商店时出现构建版本问题

    我看过很多答案 但大多数都已经过时了 我正在尝试使用 Azure DevOps 管道将我的 Android 应用程序发布到 Play 商店 我遇到了 APK 版本代码的问题 出现以下错误 APK指定已使用的版本代码 任何人都知道如何增加存在
  • 如何将 GitLab CI 文件变量传递给 Dockerfile 和 docker 容器?

    GitLab CI 允许向项目添加自定义变量 它允许使用类型的秘密变量file我指定的键是变量名称 值是文件的内容 例如证书的内容 然后在管道执行期间 内容将被保存为临时文件 调用变量名称将返回创建文件的路径 最终我需要将此文件复制到构建项
  • 具有 Spring Boot 应用程序的 docker Secret 无法在 docker swarm 模式/run/secrets 下工作

    我正在尝试设置 MySQL 容器和 Spring Boot 应用程序的数据库密码的环境变量 该密码通常在 docker 秘密中声明 echo db secured password docker secret create secret 这
  • 更改 Kubernetes 中的 CPU 管理器策略

    我正在尝试更改我管理的 Kubernetes 集群的 CPU 管理器策略 如上所述here https kubernetes io docs tasks administer cluster cpu management policies

随机推荐

  • 强烈推荐Linux深入学习必读的几本书

    2012 10 01 21 00 40 成为一名精通 Linux程序设计的高级程序员一直是不少朋友孜孜以求的目标 根据中华英才网统计数据 北京地区 Linux 程序员月薪平均为 Windows程序员的 1 8 倍 Java 程序员的 2 6
  • sql语句中关于1 and 1=2详解

    在通关sqli labs的时候 我经常会遇到这么一个问题 那就是 id 1 和 id 1 and 1 2 的查询结果是一致的 我一直以来都很疑惑 然后寻求了很多文章 终于解决了我的问题 我们将其放在sqlyog里面去讲解 我先给你们展示一下
  • Shell监控jvm发短信

    Shell脚本 jstat crontab curl 监控JVM发送短信 bin bash 定时监控本机器下所有java应用的 JVM信息 定时任务配置 crontab e 写入如下 5分钟执行一次检测 5 home admin monit
  • 【H5】 svg动画 旋转属性与虚线属性

    svg 动画 旋转 transform rotate angle x y 不要写在style里面 angle 旋转角度 x y旋转中心 绘制虚线 stroke dasharray a b a b c d 旋转属性 transform rot
  • 立陶宛央行抢跑数字货币背后:前瞻的区块链战略 中国已有企业布局

    7月2日 据路透社报道 立陶宛将在下周开始预售2 4万枚由央行发行的数字货币 该名为LBCoin的数字货币基于区块链技术生产 立陶宛成为是欧盟国家中第一家正式发行央行数字货币的地区 不是2015年就开始研究央行数字货币的英国 不是今年2月试
  • 人工智能芯片未来发展前景如何?

    随着深度学习技术的快速发展 以及互联网和云计算时代海量数据和高效计算能力的支撑 计算机视觉技术 语音技术 自然语言理解技术等人工智能技术取得了突破性进展 并解锁多个行业的人工智能场景 产生了巨大的商业价值 驱动了人工智能行业的发展 同时 伴
  • TEA系列加解密算法详解

    文章目录 TEA系列概述 TEA算法介绍 TEA加密过程 C语言实现 XTEA算法介绍 XTEA加密过程 C语言实现 XTEA算法介绍 XXTEA加密过程 C语言实现 参考 TEA系列概述 TEA算法是由剑桥大学计算机实验室的David W
  • python 序列化_python怎么序列化

    pickle模块 json模块 1 把变量从内存中变成可存储或传输的过程 称之为序列化 Python中叫pickling 其他语言中也被称为serialization marshalling flattening等 都是相同的意思 2 序列
  • XSS安全漏洞的防范

    XSS安全漏洞 通过URL带入的 这种带入主要是前端解析url中的参数 并对数参数执行了innerHTML 或者 html 或者 append 操作 在将参数html 或者append 到html文件中时 会执行其中的js代码 被错误用户获
  • HBase Split 过程

    看了下hbase split的代码 记录一下学习心得 Java代码 private void split final HRegion parent final byte midKey throws IOException final lon
  • chat gpt 常见角色及对应的提示词汇总

    提示词的存在让ChatGPT能够扮演特定的角色 对用户的回答更加专业对口 以下是一些常见的ChatGPT角色及对应的提示词 目录 ChatGPT 市场推广提示 ChatGPT 业务提示 ChatGPT 内容提示 Web 开发的 ChatGP
  • Ubuntu系统中防火墙的使用和开放端口

    Ubuntu系统中防火墙的使用和开放端口 目录 1 Ubuntu查看防火墙的状态 2 2 Ubuntu开启防火墙 2 3 Ubuntu添加开放SSH端口 3 4 Ubuntu防火墙常用命令 5 4 1 查看ufw防火墙的状态 5 4 2 启
  • ARM汇编之APCS规则

    APCS规则简述 寄存器使用规则 寄存器r0 r3用于函数调用过程中传递函数形参 各有一个别名 a1 a4 使用前后可以不用恢复原来的值 R4 r11用于保存函数内部局部变量的值 每个函数使用前 必须要保存被调用函数的值 使用完毕 必须恢复
  • 在Linux远程服务器上搭建JavaWeb开发环境

    配置 远程linux服务器版本为CentOS7 6 使用的是阿里云服务器 目录 1 安装JDK 1 1 查看yum源中JDK版本 1 2 使用yum安装JDK1 8 1 3 查看是否安装成功 2 安装MySQL 2 1 查看是否已安装mys
  • C++ 循环

    有时候 程序需要多次执行同一块代码 一般情况下 语句是顺序执行的 函数中的第一个语句先执行 接着是第二个语句 依此类推 循环语句允许多次执行一个语句或语句组 大多数编程语言中循环语句的一般形式 循环类型 C 编程语言提供了以下几种循环类型
  • Anaconda环境的创建、激活、删除和管理

    1 Anaconda环境的创建 conda create n 环境的名字 自定义 python 3 7 其中环境的名字 自定义 表示创建环境的名字 可以自定义 建议为英文 后面python 3 7表示创建的解释器的版本 conda crea
  • 这里有141个创业公司的死亡案例,看鸡汤不如听教训

    今天我们打算跟大家聊聊失败 关于成功的方法论有着趋同性 多半与 天时地利人和 有关 而关于失败 却很少有人愿意公开谈起 也许因为野兽总是不想将伤口暴露在外 探讨失败的意义 可能远远大于成功 因为面对挫折 即使自认为最无畏的人也会有这样的时刻
  • PicGo安装与配置-Gitee图床

    PicGo安装与配置 Gitee图床 文章目录 PicGo安装与配置 Gitee图床 1 前言 2 下载 3 安装 4 Gitee 5 Node js 6 配置PicGo 6 1 PicGo界面配置 6 2 npm安装PicGo插件Gite
  • 空格的正则表达式

    在正则表达式想使用空格的时候不能采用 s的方法 因为 s指的是空白 就是所有空白 如果想表示单纯的空格的话可以采用 方括号本身就是匹配其中的字符 那么其中放空格就是匹配空格 如果有其他正则表达式问题可以查看 https blog csdn
  • GCP reliable google cloud infrastructure, devops lab

    最后更新2022 03 13 先到menu source repository里建立repository 还是不很好找 source repository在CI CD分类里面 点右上角的add repository按钮 输名字devops