如何在AWS上自动部署带有子模块的git存储库?

2024-01-09

我的 git 存储库中有一个子模块,我的目录结构如下:

app
  -- folder1
  -- folder2
  -- submodule @5855

我已使用自动部署服务在 AWS 上部署了我的代码。 现在,在服务器上,我的父目录中有代码,但子模块目录为空。

Q1)如何获取子模块中的数据。我在服务器上的存储库不是 git 存储库。我需要先将其转换为 git repo 然后运行submodule命令来获取它?

Q2)如何自动化子模块部署?

Thanks


编辑:Codebuild 现在有一个“子模块”标志https://docs.aws.amazon.com/codebuild/latest/APIReference/API_GitSubmodulesConfig.html https://docs.aws.amazon.com/codebuild/latest/APIReference/API_GitSubmodulesConfig.html

这对我有用

我们将重新初始化 git 存储库,然后在部署的构建阶段触发子模块克隆,本质上是修补以支持 codepipeline / codebuild 中的子模块

  • 为您的 github 帐户生成新的 SSH 密钥,如果使用组织,您可能需要创建部署用户
  • 使用以下命令将此 ssh 密钥存储在您的 aws 参数存储中aws ssm put-parameter --name build_ssh_key --type String --value "$(cat id_rsa)"理想情况下使用 SecureString 而不是 String,但我遵循的指南仅使用字符串,因此我不确定命令行是否需要任何额外参数
  • 进入 IAM 并授予您的 CodePipeline 用户对 paramstore 的读取权限,我刚刚授予对 SSM 的读取权限

然后使您的 buildspec.yml 如下所示:

version: 0.2

env:
  parameter-store:
    build_ssh_key: "build_ssh_key"

phases:
  install:
    commands:
      - mkdir -p ~/.ssh
      - echo "$build_ssh_key" > ~/.ssh/id_rsa
      - chmod 600 ~/.ssh/id_rsa
      - ssh-keygen -F github.com || ssh-keyscan github.com >>~/.ssh/known_hosts
      - git config --global url."[email protected] /cdn-cgi/l/email-protection:".insteadOf "https://github.com/"
      - git init
      - git remote add origin <Your Repo url here using the git protocol>
      - git fetch
      - git checkout -t origin/master
      - git submodule init
      - git submodule update --recursive
  build:
    commands:
      - echo '...replace with real build commands...'

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

如何在AWS上自动部署带有子模块的git存储库? 的相关文章

  • 使用终端时 Git 推送在总计后卡住了?

    我尝试将一些文件推送到Github 总大小只有22 2M 我不知道为什么它在总行之后卡住了 我读过推送到 Github 时 Git 推送挂起 https stackoverflow com questions 16906161 git pu
  • 如何删除 GitHub markdown 项目符号/列表上的额外行空间?

    GitHub 的 Markdown 代码 1 First item subitem 1 Second item 之间产生很大的空间First Second和subitem 如何制作subitem靠近第一个项目 而不是正好在它们的中间 这是我
  • 如何在 macOS 上将 Git 升级到最新版本?

    我刚刚购买了一台装有 OS X Lion 的新 Mac 我在终端中检查了默认安装的 git 版本 我得到了答案 git version gt git version 1 7 5 4 我想将 git 升级到最新版本 1 7 8 3 因此我下载
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • Git 2.2.x 无缘无故更新旧包文件的时间戳

    Git 2 2 0 和 2 2 1 似乎修改了旧的时间戳 git objects pack pack pack偶尔会无缘无故地文件 它只是改变时间戳 内容是相同的 调试这一点很困难 因为它似乎很少进行更改 我在 2 2 0 之前的任何 Gi
  • Git 在哪里存储标签?

    Git 在哪里存储标签 我执行 git tag v0 1 0 v0 10 0 v0 11 0 但目录 git refs tags是空的 Git 将这些标签存储在哪里 谢谢 它们也可以存储在 git packed refs
  • git 排除与忽略

    I use Tower http www git tower com 用于在 Mac 中使用 Git Tower 中的设置具有创建 gitignore 的 忽略 部分 但它还有另一个名为 排除 的部分 似乎可以将排除与 git ls fil
  • 缺少节点-v59-linux-x64/grpc_node.node

    我正在尝试在我的服务器中使用 Firebase admin SDK 当我部署时 出现错误 我在 firebase admin node module 映射中缺少文件 node v59 linux x64 grpc node node 我在包
  • 使当前提交成为 Git 存储库中唯一(初始)提交?

    我目前有一个本地 Git 存储库 我将其推送到 Github 存储库 本地存储库有约 10 次提交 Github 存储库是其同步副本 我想要做的是从本地 Git 存储库中删除所有版本历史记录 以便存储库的当前内容显示为唯一提交 因此存储库中
  • 如何减少 Bitbucket 上的 git repo 大小?

    我的问题摘要 在我向两个现有文件添加了几百个字节后 我在 Bitbucket 上的一个私人存储库的大小突然增加了一倍多 该存储库现在超过 2GB 这导致 Bitbucket 将其置于只读模式 因为它处于只读模式 所以我无法推送会减少存储库大
  • 显示 master 之前/之后有多少提交分支的别名

    新的 Bitbucket Branches 页面非常棒 它显示每个分支领先 落后于 master 的提交数量 是否有显示相同信息的 Git 别名 信息应显示 分店名称 上次更新是什么时候 其背后有多少提交 有多少提交领先于 master 看
  • 部分共享git仓库

    我是 git 新手 我想知道是否支持以下场景 如果支持的话如何支持 即用于设置和更新的 git 命令 可以从三个不同的地方获取存储库 本地 镜像 和 github mirror 完全镜像 local github 镜像 local 但 受版
  • VSTS:在构建过期的情况下自动变基/合并和重新排队构建验证门

    我们最近对 PR 上的构建验证门进行了更改 这样 如果另一个提交在当前 PR 完成之前进入主分支 则构建会 立即 过期 看here https stackoverflow com questions 49418800 vsts invali
  • Gerrit 和 Active Directory

    我正在尝试设置 Gerrit 以使用我们的公司 Active Directory 进行身份验证 我知道很多人都设法让它发挥作用 但它对我来说不起作用 如果我运行一个ldapsearch命令如下我得到了正确的结果 所以我知道我的搜索字符串是正
  • Git 工作流程:分叉项目并维护本地修改副本,但保持最新

    我正在尝试找出最佳工作流程 用于维护具有自定义功能的 github 托管项目 moodle 的本地副本 同时保持保持副本最新的能力 告诉我我正在考虑做的事情是否完全疯狂 分叉项目 github com moodle moodle gt gi
  • 删除 Git 存储库,但保留所有文件

    在我使用 Linux 的过程中的某个时刻 我决定将我的主目录中的所有内容都放入源代码管理中是个好主意 我不是在问这是否是一个好主意 我是在问如何撤销它 删除存储库的原因是我最近安装了 Oh My Zsh 而且我非常喜欢它 问题是我的主目录有
  • 从 GitHub 读取代码作为网页中的文本(原始)

    我正在尝试从我的 GitHub 存储库读取一些源代码 C 语言 以在我的网页中显示为文本 我可以通过以下方式访问原始模式下的代码https raw github com https raw github com 我正在使用 jQuery G
  • 我应该把 .gitignore 放在哪里才能影响所有项目?

    我应该在哪里放置一个 gitignore文件以便我的所有项目都使用这些设置 我尝试了各种文件夹 只有将其放入项目文件夹中才能使其正常工作 但是设置 当然 仅应用于该项目 而不是我的其他项目 git 包含一个 全局 配置选项 可以告诉它在启动
  • Git:如何修改服务器的提交?

    我已经在 EC2 上的 git 服务器上推送了一些提交 而不是在 github 上 如何修改 git 服务器上的这些提交 操作就像 删除提交 例如变基 更改提交消息 是否可以 非常感谢 你几乎可以通过用力推动来完成所有事情 将您的本地树更改
  • 如何创建名称中带有正斜杠的标签

    当我已经有了类似的标签时 有什么方法可以创建名称中带有正斜杠的 git 标签吗 假设我有 1 16 0 标签 并且我想创建 1 16 0 1 0 0 标签 git tag 1 16 0 1 0 0 error refs tags 1 16

随机推荐

  • 卸载前检查应用程序是否在 NSIS 中运行

    我是 NSIS 新手 我需要知道在卸载程序中 如何检查应用程序 C 中的 是否正在运行并在卸载之前将其关闭 这是一个稍微更友好的使用版本NS进程 http nsis sourceforge net NsProcess plugin请求应用程
  • 如何在 React 中创建可重用的自定义模态组件?

    我对 React 中的模态概念有疑问 当使用带有 jQ uery 的服务器端渲染模板时 我习惯于有一个始终可用的空全局模态模板 包含在始终扩展的基本模板中 然后 当进行 AJAX 调用时 我只是填充模态 如下所示 modal global
  • 如何在 Flutter 中设置折叠元素的动画

    当用户用动画点击不同的小部件 同级或父级 时 如何展开和折叠小部件 new Column children
  • 如何在 Android 手机上模拟 NFC 标签

    我有一部 Android 手机 nexus s sdk v15 它应使用标签仿真将字符串发送到在 nfc 读取器 写入器模式下运行的开发板 我知道这不是 Android 官方支持的 所以我可以通过直接访问驱动程序来本地完成它 是否有任何人以
  • 如何从 Uri 获取位图?

    如何从 Uri 获取 Bitmap 对象 如果我成功将其存储在 data data MYFOLDER myimage png or file data data MYFOLDER myimage png 在我的应用程序中使用它 有谁知道如何
  • 如何对 MongoDB 中的字段进行加密

    我需要加密 mongo 文档中的一个字段 最好的方法是什么 我用弹簧 有spring注解吗 目前只能通过 java 进行加密 here https stackoverflow com questions 28936242 encrypt p
  • IE8异步文件上传

    我试图找到在 IE8 中异步上传文件 通过 Ajax 的示例代码 上传进度也很好 但不是强制性的 我希望 PHP 代码能够处理文件服务器端 我不断遇到其他浏览器使用 FormData 的示例 但我无法使用它 有人可以指出我正确的方向吗 这是
  • 为什么 :required => true 不适用于 collection_select?

    我想确保用户在提交之前在我的表单中选择一个类别 但是 required gt true似乎不起作用 这是选择 有什么建议吗 Try this 解释 根据 Rails 文档 语法为collection select函数看起来像这样 colle
  • scipy 树形图转 json 用于 d3.js 树可视化

    我正在尝试将 scipy 层次聚类的结果转换为 json 以在 d3 js 中显示一个例子 http bl ocks org mbostock 4063550 以下代码生成具有 6 个分支的树状图 import pandas as pd i
  • Java 到 JavaScript 编译器 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 除了 GET 之外 还有其他 Java 到 JavaScript 编译器吗 目前我所有的工作都是用 Ja
  • 在 C++ 中存储任意对象的列表

    在 Java 中 您可以拥有一个对象列表 您可以添加多种类型的对象 然后检索它们 检查它们的类型 并针对该类型执行适当的操作 例如 如果代码不完全正确 我深表歉意 我是凭记忆写的 List list new LinkedList list
  • Python 中的本地导入语句

    我认为将 import 语句放置在靠近使用它的片段的位置 可以使其依赖关系更加清晰 从而提高可读性 Python 会缓存这个吗 我应该关心吗 这是一个坏主意吗 def Process import StringIO file handle
  • SplunkMint 上传 dSym

    每次尝试运行以下脚本 SplunkMint 脚本自动上传 dsym 文件以进行符号化 时 我都会收到此错误 SCRIPT usr bin find SRCROOT name splunkmint postbuild dsym upload
  • SQL Server CE 密码允许使用的字符吗?

    在我们开发的 Web 应用程序中 我们生成 SQL Server CE 数据库文件 并为这些文件生成密码 密码是使用 System Web Security Membership GeneratePassword 生成的 我认为Genera
  • 如何在 Tomcat 中启用 java 断言

    我想使用Javaassert我的 Spring Web 应用程序中的关键字 主要是在我的域类上 检查构造函数内的不变量 但我看不到如何启用运行时断言检查 对于普通的java应用程序 我会使用 ea使用 java 命令进行切换 但我不知道如何
  • 如何处理 jQuery UI Selectmenu 更改事件

    我使用 jquery ui 选择菜单自定义渲染选项 http jqueryui com selectmenu custom render 我该如何处理change event i try filesA on change function
  • 如何在 ng-repeat (AngularJS) 中绑定多个 JSON 文件?

    我有多个 JSON 文件 主要 json MainRegister name Name1 url url1 json name Name2 url url2 json url1 json SubInformation description
  • 使用 scipy.spatial 的数据类型问题

    我想使用 scipy spatial 的 KDTree 来查找二维数组中的最近邻对 本质上是一个列表列表 其中嵌套列表的维度为 2 我生成列表列表 将其通过管道传输到 numpy 的数组中 然后创建 KDTree 实例 然而 每当我尝试对其
  • 使用 Mockito 模拟 Jersey 客户端

    您好 我正在使用 JUnit 和 Mockito 测试 Jersey Client 1 19 版本 我正在努力获取或阅读该实体 我不知道如何从那里继续 而且我也收到 IllegalStateException 下面是我用来为客户端响应创建模
  • 如何在AWS上自动部署带有子模块的git存储库?

    我的 git 存储库中有一个子模块 我的目录结构如下 app folder1 folder2 submodule 5855 我已使用自动部署服务在 AWS 上部署了我的代码 现在 在服务器上 我的父目录中有代码 但子模块目录为空 Q1 如何