Semaphore的所有工作都在独立的虚拟机上运行,在一个干净、隔离的环境中。它们之间并不真正交流。但是,如果你需要他们这样做呢?
这就是工件的用武之地。通过工件,你可以在你的项目上存储数据,并在工作、工作流程和项目之间传递。让我们仔细看看什么是工件,如何创建它们,以及它们给你的团队带来什么好处。
什么是人工制品?
艺术品是上传到Semaphore并存储在其中的文件(屏幕截图、日志、测试报告)。一旦你在一项工作或工作流程中上传了工件,你就可以从另一项工作或工作流程中提取它。这将使你的工作能够相互 "沟通",在它们之间传递信息。
Semaphore中有三个层次的工件。
作业级工件
作业工件适用于收集调试数据。你可以用它们来存储数据,如日志、屏幕截图和截屏,使调试更容易。
要想把文件上传到工作工件商店,请使用以下命令。
artifact push job <my_file_or_dir>
工作流级别的工件
团队会使用工作流级别的工件来存储各种构建和测试报告,并在单个工作流中的工作之间传递数据和可执行文件。
项目级工件
项目工件的主要用例是存储CI/CD过程的最终交付物。
同样地,你将使用推和拉命令来创建和拉动项目级的工件。
artifact push project myapp-v1.25.tar.gz
在文档中阅读更多关于设置工件的信息。
为工件设置保留策略
当你在调试失败的构建时,工件很有帮助。一旦问题解决了,它们就没有什么用处了。
默认情况下,工件不会被自动删除。然而,设置一个保留策略可以让你通过不在存储中保留不必要的数据来节约成本。
下面是如何为工件设置保留策略。
步骤1. 转到项目设置 > 工件设置页面
第2步。 定义你想保留工件的时间
第3步。保存你的改变。
对你的团队的好处
当你调试失败的构建时,工件很有帮助。他们可以为你的团队提供什么是工作的,什么是不工作的,以及问题可能是什么的见解。
在工件的帮助下,你可以在一个工作流程中的工作之间传递数据,或者存储整个项目的最终交付物。这将加快你的CI/CD过程,并确保你的构建质量。
价格政策
上传和推送工件是免费的。只有当您将它们存储在Semaphore或从存储中下载(拉)它们时才需要付费。
您的组织对工件的收费基于两个参数:数据存储和数据流量。下面是这两个选项的分类。
定价实例
存储量
每1GB/月的存储价格为0.07美元。例如,你在工件中存储20GB的文件10天。Semaphore将其视为每月存储量的1/3(假设每月为30天)。这个存储产生的费用为。
0.07美元(每月每GB)*20(GB)*⅓(月)=0.47美元
流量
每1GB流量的价格是0.35美元。例如,你有10MB的文件存储为工作流工件,你在10个工作中提取该文件。这将产生100MB或0.1GB的流量。
0.35美元(每GB)*0.1(GB)=0.035美元
您可以在Semaphore的计费页面上看到您当前的人工智能支出。
有几种方法可以优化你的人工制品支出。
- 通过搜索你的.yml文件中的神器拉动命令来确定哪些工作下载神器
- 检查你的工作中是否拉了不必要的工件
- 如果你使用并行技术,避免在工作中拉取大型工件
- 不要使用工件来缓存工作的依赖性,我们提供了免费的缓存,流量不限。
- 不要使用工件来存储和提取大型Docker镜像。使用Docker Hub或Amazon ECR等服务代替。
另外,你可以使用缓存来存储依赖关系和在多个作业中经常使用的小/中尺寸的文件。
你也可以为Docker镜像使用容器注册表。你可以使用DockerHub和AWS ECR等容器镜像注册服务。
你想了解更多关于工件的信息吗?
Artifacts是存储有价值的数据并在工作之间传递的一种很好的方式。请务必查看文档以了解更多关于该功能的信息。
如果你想了解更多关于工件的信息以及如何为你的团队设置它们,请随时与我们联系。我们将很乐意提供帮助。
祝你建设愉快!
The postSemaphore Artifacts: a Fast and Secure Way to Store Data on Your Projectsappeared first onSemaphore.