没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:董玉霞|2022-07-25 10:34:11.490|阅读 630 次
概述:Space团队正在发布对部署的支持,这是使Space成为真正的一体化解决方案的 另一个难题。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
JetBrains Space是整个软件开发pipeline和团队协作的统一平台。托管git存储库、查看代码、自动化CI/CD、存储和发布包、管理问题和文档以及在聊天中进行通讯——所有这些功能都集成在一起,开箱即用。
Space团队正在发布对部署的支持,这是使Space成为真正的一体化解决方案的 另一个难题。 部署是一个空间实体,表示将源代码更改交付到部署环境(部署目标)。例如,将 Web 应用程序交付到生产服务器、在商店中发布移动应用程序、将分发上传到 FTP 服务器等等。
部署在许多层面上都有帮助:
Space中的部署本身不会运行任何构建脚本。它只是一个跟踪当前部署状态的状态机。状态更新由 CI/CD 服务器在空间命令行工具(作为 Docker 映像提供:)public.registry.jetbrains.space/p/space/containers/space-cli:latest或 Space HTTP API 的帮助下发送。还有一个选项可以在 UI 中手动更改部署状态。这意味着您可以将部署与您选择的任何 CI/CD 工具一起使用,包括 Space Automation、JetBrains TeamCity、GitHub Actions 等。
例如,这就是包含所有可能状态的部署的样子。
此方案中除已完成之外的所有状态都是可选的:您可以在任何状态下创建新部署。
假设您有一个现有的 CI/CD 管道,可以将您的产品交付到某个环境(目标)。在最简单的情况下,您可以从跟踪部署何时开始(部署状态)和何时结束(当前状态)开始:
job("Deploy") {
// you can store the auth token as a secret
env["TOKEN"] = Secrets("space-auth-token")
container("Deploy to prod", "registry.jetbrains.team/p/myprj/docker/custom-image-with-space-cli") {
shellScript {
// staging-server is the target key
// JB_SPACE_EXECUTION_NUMBER serves as a version number
content = """
space configure ${'$'}JB_SPACE_API_URL ${'$'}TOKEN
space deployments start ${'$'}JB_SPACE_PROJECT_KEY staging-server --version ${'$'}JB_SPACE_EXECUTION_NUMBER --commit my-web-app:release:${'$'}JB_SPACE_GIT_REVISION
./do-deploy.sh
space deployments finish ${'$'}JB_SPACE_PROJECT_KEY staging-server
"""
}
}
}
job("Deploy") {
container("Run deploy script", image = "gradle:7.1-jre11") {
kotlinScript { api ->
api.space().projects.automation.deployments.start(
// get id of the current project
project = api.projectIdentifier(),
// deployment target name
targetIdentifier = TargetIdentifier.Id("production-server"),
version = "1.0.0",
// with syncWithAutomationJob = true,
// Space will automatically change deployment status
// based on the job execution result.
// If the job fails, the deployment fails as well.
// If the job is successful, the deployment becomes 'current'.
syncWithAutomationJob = true
)
// do deployment staff
// ...
}
}
}
脚本成功完成后,部署变为current,这意味着这是部署到目标环境的实际应用程序版本。
TeamCity 工作流程看起来与上面的工作流程非常相似。通常,对于部署,您使用Deployment 构建配置。在此配置中,添加两个构建步骤,如下所示:
构建配置可能如下所示:
steps {
script {
name = "Space notification - start deployment"
scriptContent = """
space configure %env.SPACE_DEPLOYMENT_API_URL% %env.SPACE_NOTIFICATION_PERM_TOKEN%
space deployments start %env.SPACE_DEPLOYMENT_PROJECT_KEY% %env.SPACE_DEPLOYMENT_TARGET_ID% --version %build.number% --commit my-web-app:%teamcity.build.branch%:%build.vcs.number% --ext-service '%env.SPACE_DEPLOYMENT_EXT_SERVICE%' --ext-label '%env.SPACE_DEPLOYMENT_EXT_LABEL%' --ext-url %env.SPACE_DEPLOYMENT_EXT_URL%
"""
dockerImage = "%env.SPACE_CLI_DOCKER_IMAGE%"
}
script {
// do deploy...
}
script {
name = "Space notification - finish deployment"
executionMode = BuildStep.ExecutionMode.ON_SUCCESS
scriptContent = """
space configure %env.SPACE_DEPLOYMENT_API_URL% %env.SPACE_NOTIFICATION_PERM_TOKEN%
space deployments finish %env.SPACE_DEPLOYMENT_PROJECT_KEY% %env.SPACE_DEPLOYMENT_TARGET_ID%
"""
dockerImage = "%env.SPACE_CLI_DOCKER_IMAGE%"
}
script {
name = "Space notification - fail deployment"
executionMode = BuildStep.ExecutionMode.ON_FAILURE
scriptContent = """
space configure %env.SPACE_DEPLOYMENT_API_URL% %env.SPACE_NOTIFICATION_PERM_TOKEN%
space deployments fail %env.SPACE_DEPLOYMENT_PROJECT_KEY% %env.SPACE_DEPLOYMENT_TARGET_ID%
"""
dockerImage = "%env.SPACE_CLI_DOCKER_IMAGE%"
}
}
部署与其他空间子系统集成的方式是另一个重要因素。首先,每个部署目标和部署都有自己的时间表,用于发布部署状态更改。您还可以订阅部署事件并在您的个人Spacebox频道中接收通知。
部署也有时间表。此外,部署时间表不仅仅是一个日志——它还是一个专用的聊天频道,您可以在其中与团队或公司中参与 CD 的其他人进行交流。
提交现在具有部署选项卡,可让您查看提交是否已部署。合并请求和问题也有一个类似的部署选项卡。
更多有关Space产品信息可以咨询 。
Space技术交流群:786598704 欢迎进群一起讨论
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@fz165y.cn




在制造业数字化项目中,让数据流动起来,往往比让设备动起来还难。
在众多OPC开发工具中,今天跟大家详细介绍一下来自芬兰的 Prosys OPC——一家专注OPC技术十余年的厂商。
Sparx Systems的Enterprise Architect(简称EA)是一款旨在驾驭企业复杂性、驱动创新的综合建模工具。通过提供覆盖系统开发全周期的可视化建模环境,帮助开发团队从战略规划到具体实施,确保业务与IT紧密结合,并促进团队间的无缝协作。
随着企业数字化程度不断提高,如何在不同CAD系统之间实现高精度、低损耗的数据交换,成为PLM、CAE、BIM乃至数字孪生平台的共同挑战。
相关产品
是一个针对软件项目和团队的一体化解决方案。
IntelliJ IDEAIntelliJ在业界被公认为优秀的Java开发平台之一,在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面表现突出,并支持基于Android平台的程序开发。
最新文章 MORE
星空最火知名网站相关的文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@fz165y.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
星空最火知名网站