目标
在自托管存储库 (gitea) 上为 iOS 项目构建 CI/CD,并包含构建和测试步骤。如果一切顺利,可以合并,否则不行。
我的工作流程中有一些步骤可以构建项目并在远程设备上成功运行单元测试。 现在我需要将测试结果从远程设备复制到运行器中并分析测试结果。
我如何从远程服务器复制文件并将其保存在运行器中,以便下一步可以访问它?
要将文件从远程服务器复制到 CI/CD 运行程序(在您的情况下为 Gitea 运行程序)并使其可供工作流程中的后续步骤访问,您可以使用以下方法。这涉及使用 SSH 将文件从远程服务器安全地复制到运行器。
假设您可以从 CI/CD 运行程序通过 SSH 访问远程服务器,则可以使用 scp(安全复制)命令来复制文件。以下是如何在 CI/CD 工作流程中执行此操作的示例:
说明:
签出存储库:此步骤在运行器上签出您的存储库。
构建和测试:运行构建和测试命令。您可以在此处在远程设备上生成测试结果。
复制测试结果:使用 scp 命令将测试结果从远程服务器安全地复制到 CI/CD 运行程序中的某个位置。相应地调整用户、远程服务器和路径。
分析测试结果:使用 CI/CD 运行器上复制的文件运行命令来分析测试结果。
成功则合并:此步骤确保仅在前面的步骤(构建、测试和分析)成功时才执行合并命令。根据您的分支策略和合并要求调整此步骤。
确保将用户、远程服务器和文件路径等占位符替换为您的实际值。
此 YAML 工作流程假设您使用的是 GitHub Actions,但一般结构可以适用于其他 CI/CD 平台。