如何解决如何将外部 git 添加到正在运行的 Fabric 集合
我们有一个保险丝/结构集合,我们希望使用外部 git,因为它有助于管理配置文件等。此外,我们想了解如何添加外部 git,以便我们可以将其应用于实际生产,因为前面提到的那个是分期的。
Fuse 文档只展示了如何使用外部 git 创建新的 ensemble,但没有提到如何让现有的 git 使用它(尽管原则上它似乎并不难)。我们尝试过 fabric:create --force
但它失败得很厉害(半成品配置文件等),我们设法以某种方式手动恢复它。
是否有一种已知的方法如何移动现有的集成以使用外部 git(例如,停止一切、更改原始 url、开始,但在哪里设置凭据?当然 fabric:create
确实将配置存储在某处所以它不仅是原始网址,或者在严重断开连接的情况下可能会丢失)?或者,有没有办法创建“新”集成并将所有现有容器“移动”到它上面?
解决方法
为了使用外部 git,您必须配置 io.fabric8.datastore
PID,它是 default
配置文件的一部分(因此 - 可用于所有容器,因为所有配置文件都继承自 {{1} }).
因此,在您已经创建了集成 (default
) 之后,您可以使用任一 Hawtio 控制台更改 fabric:create
PID(只需导航到 Hawtio 的 wiki 中的相关 io.fabric8.datastore
tab) 或使用如下命令:
io.fabric8.datastore.properties
在 Hawtio 控制台中,您可以事务性进行操作,避免部分更新 fabric:profile-edit --pid io.fabric8.datastore/gitRemoteUrl=https://github.com/my-org/my-repo.git default
fabric:profile-edit --pid io.fabric8.datastore/gitRemoteUser=my-user default
fabric:profile-edit --pid io.fabric8.datastore/gitRemotePassword=my-password default
PID。
在切换 git 仓库之前,你必须将现有的仓库推送到其他地方
实际的fabric Git 存储库存储在 io.fabric8.datastore
中,因此您可以执行以下操作:
FUSE_HOME/data/git/local/fabric
,
看起来克隆包含所有分支和标签的存储库的正确步骤是:
cd /tmp
git clone --bare $FUSE_HOME/data/git/local/fabric/.git fabric-git
cd fabric-git
git remote add new-location https://github.com/my-org/my-repo.git
git push new-location --mirror
cd ..
rm -rf fabric-git # as you no longer need it
,
我已经实施了 this 并且它似乎有效。它解决了我的问题(请参阅我在 Grzegorz 回答中的评论)新创建的容器无法从远程 git 存储库下载配置文件,因为 git 凭据存储在这些配置文件中(即在默认配置文件中)。
这个想法是将与远程 git 的通信限制到父容器。这些您无需重新创建,就我而言,它们是一个整体。
通过将 io.fabric8.datastore.properties
与 fabric-git-server
功能一起从默认配置文件移动到新的 fabric-git-master 配置文件(基于结构配置文件)来解决该问题,该配置文件替换了父级中的结构配置文件容器。
这个动作是分几个步骤完成的,以保持整体的一致性。请务必在此更改之前注释掉 io.fabric8.datastore.properties
内容,并在所有内容到位后在最后启用它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。