如何控制私有 jelastic 环境
How to version a private jelastic environment
为了跟踪我们的 Jelastic 托管环境的配置,我想在 git 存储库中对其进行版本控制。该存储库应该是私有的,并且包含几个不同版本的不同分支(例如 master
、abc123
、v1.1
)。
我的第一个尝试是创建一个私有 github 存储库,其中包含:
- A
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)是从 public github 存储库加载的。因此,不需要凭证,manifest.json 和配置文件都不需要。此外,配置文件将始终从 master
分支加载。
相比之下,
- 我希望存储库是私有的
- 我想确保 manifest.json 的 abc123 版本将始终与配置文件的 abc123 版本一起部署。
这可能吗?有最佳实践吗?
如何将环境从私有 git(hub) 存储库导入 Jelastic?我可以使用仪表板导入 URL 功能来执行此操作吗?或者我必须使用 CLI 吗?
为此,我们需要使用任何体面的 GIT SCM 提供的 webhook 功能。检查生成令牌 link。
在打开的安装 window 中,指定以下数据:
- Git 回购 Url - HTTPS link 到您的应用回购
- Branch - 要使用的项目分支
- 用户- 您的Git 帐户登录
- Token - 用于生成 webhook 的个人 Git 访问令牌(可以在 GitHub/GitLab 帐户设置中创建)
- 环境名称 - 您的应用程序应部署到的目标环境
- Nodes - 应用程序服务器名称(在选择环境时自动获取)
成功安装后,提交到源存储库的所有进一步更改,将自动交付到您在 Jelastic Cloud 中的环境。
如何确保 manifest.json 引用与 manifest.json 本身相同版本的配置文件?如何传递 Jelastic 的凭据以便能够检索配置文件?
由于我们正在使用 Jelastic,因此我们可以使用 Jelastic 提供的功能。目前你可以设置分支名称,所以你可以:
- 存储库数量与 manifest.jps 一样多
- 与 manifest.jps 一样多的分支
有最佳实践吗?
可以使用 与 manifest.jps 一样多的存储库 并使用 git 流向版本控制:
Master 作为 manifest.jps 的稳定生产版本。 manifest.jps 的任何更改都必须由团队审核或审查,以防止出错。您也可以使用标签对此 manifest.jps 进行版本控制,并轻松将 master 恢复为任何标签。
参考资料
A) How can I import an environment from a private git(hub) repository
into Jelastic? Can I use the Dashboard Import URL feature to do so? Or
do I have to use the CLI?
B) How can I make sure that the manifest.json refers to the
configuration file of the same version as the manifest.json itself?
How do I pass the credentials for Jelastic to be able to retrieve the
configuration files?
要将环境从私有 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}
为了跟踪我们的 Jelastic 托管环境的配置,我想在 git 存储库中对其进行版本控制。该存储库应该是私有的,并且包含几个不同版本的不同分支(例如 master
、abc123
、v1.1
)。
我的第一个尝试是创建一个私有 github 存储库,其中包含:
- A
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)是从 public github 存储库加载的。因此,不需要凭证,manifest.json 和配置文件都不需要。此外,配置文件将始终从 master
分支加载。
相比之下,
- 我希望存储库是私有的
- 我想确保 manifest.json 的 abc123 版本将始终与配置文件的 abc123 版本一起部署。
这可能吗?有最佳实践吗?
如何将环境从私有 git(hub) 存储库导入 Jelastic?我可以使用仪表板导入 URL 功能来执行此操作吗?或者我必须使用 CLI 吗?
为此,我们需要使用任何体面的 GIT SCM 提供的 webhook 功能。检查生成令牌 link。
在打开的安装 window 中,指定以下数据:
- Git 回购 Url - HTTPS link 到您的应用回购
- Branch - 要使用的项目分支
- 用户- 您的Git 帐户登录
- Token - 用于生成 webhook 的个人 Git 访问令牌(可以在 GitHub/GitLab 帐户设置中创建)
- 环境名称 - 您的应用程序应部署到的目标环境
- Nodes - 应用程序服务器名称(在选择环境时自动获取)
成功安装后,提交到源存储库的所有进一步更改,将自动交付到您在 Jelastic Cloud 中的环境。
如何确保 manifest.json 引用与 manifest.json 本身相同版本的配置文件?如何传递 Jelastic 的凭据以便能够检索配置文件?
由于我们正在使用 Jelastic,因此我们可以使用 Jelastic 提供的功能。目前你可以设置分支名称,所以你可以:
- 存储库数量与 manifest.jps 一样多
- 与 manifest.jps 一样多的分支
有最佳实践吗?
可以使用 与 manifest.jps 一样多的存储库 并使用 git 流向版本控制:
Master 作为 manifest.jps 的稳定生产版本。 manifest.jps 的任何更改都必须由团队审核或审查,以防止出错。您也可以使用标签对此 manifest.jps 进行版本控制,并轻松将 master 恢复为任何标签。
参考资料
A) How can I import an environment from a private git(hub) repository into Jelastic? Can I use the Dashboard Import URL feature to do so? Or do I have to use the CLI?
B) How can I make sure that the manifest.json refers to the configuration file of the same version as the manifest.json itself? How do I pass the credentials for Jelastic to be able to retrieve the configuration files?
要将环境从私有 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}