为了跟踪Jelastic托管环境的配置,我想在git存储库中对其进行版本控制。该存储库应该是私有的,并且包含具有不同版本(例如master
,abc123
,v1.1
)的多个不同分支。
我的第一个尝试是创建一个包含以下内容的私有github存储库:
manifest.json
,用于描述环境的拓扑现在,我想知道:
A)如何将环境从私有git(hub)存储库导入Jelastic?我可以使用仪表板导入URL功能吗?还是我必须使用CLI?
B)如何确保manifest.json引用与manifest.json本身版本相同的配置文件?如何通过凭证让Jelastic能够检索配置文件?
我看过一种Jelastic示例环境: https://github.com/jelastic-jps/basic-examples/blob/master/automatic-environment-migration-after-cloning/manifest.jps
有:
配置文件(例如alfresco-global.properties)是从公共 github存储库加载的。因此,manifest.json和配置文件都不需要凭据。此外,配置文件将始终从master
分支加载。
相反,
这有可能吗?有最佳实践吗?
答案 0 :(得分:3)
为此,我们需要使用任何体面的GIT SCM提供的 webhook 功能。选中生成令牌链接。
在打开的安装窗口中,指定以下数据:
成功安装后,所有提交到源存储库的进一步更改将自动提交到您在Jelastic Cloud中的环境中。
当我们使用Jelastic时,我们只能使用Jelastic提供的功能。当前,您可以设置分支名称,因此您可以:
可以尝试使用 与manifest.jps一样多的存储库,并使用git flow进行版本控制:
作为manifest.jps的稳定版和生产版掌握。此manifest.jps的任何更改都必须由团队审核或审查,以防止出错。您也可以使用标签对该manifest.jps进行版本控制,并轻松将主版还原为任何标签。
答案 1 :(得分:2)
A)如何从私有git(hub)存储库导入环境 进入Jelastic?我可以使用仪表板导入URL功能吗?要么 我必须使用CLI吗?
B)如何确保manifest.json引用了 与manifest.json本身版本相同的配置文件? 我如何通过Jelastic的凭证才能检索到 配置文件?
要将环境从私有Github存储库导入Jelastic,您应该通过仪表板Import功能将带有令牌的清单文件URL导入。
为此,您需要:
在Github https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/
在清单文件中,应将令牌用于指向私有存储库的所有链接
仪表板导入-> URL-> https://raw.githubusercontent.com/{user}/{repo}/{branch}/manifest.jps
清单文件示例:
type: install
name: Test Private Repo
baseUrl: https://raw.githubusercontent.com/{user}/{repo}/{branch}
settings:
fields:
- name: token
caption: Token
type: string
default:
globals:
token: ${settings.token}
description: README.md?access_token=${globals.token}
onInstall:
# Shell script by URL
- cmd: script.sh?access_token=${globals.token}
# Base URL inside shell script
- cmd: |
wget '${baseUrl}/script.sh?access_token=${globals.token}' -O script.sh
chmod +x script.sh
./script.sh
# Javascript by URL
- script: script.js?access_token=${globals.token}