![]() |
1
1
有很多方法可以做到这一点,也有很多工具可以使用。您可能需要类似于以下内容的管道。
您可以使用很多东西作为远程存储位置,比如某种awss3 bucket,或者更复杂的东西,比如 Nexus (有很多免费的选择)。 然后,您需要让您的客户访问此存储位置(如果您使用的是类似S3或数字海洋块存储等的内容),或者访问您的分发存储库(如Nexus)。 您应该能够生成某种SSH密钥,可以将其放在GitLabCI服务器上并用于发布到这些位置。这应该是一个简单的例子,通过HTTP调用将文件上载到相关源。当一切都成功时,这通常被称为,而且只针对特定的分支。例如,如果您的所有测试都通过了,并且您在master分支上,请压缩所有代码并进行HTTP调用,将新的zip文件推送到您的客户有权访问的AWS S3。 对于进一步的想法,如果愿意,可以将存储/分发位置设置为FTP服务器,或者根据分发的需要设置本地网络驱动器。如果你只是为你的客户和docker打交道,那么我建议你建立一个docker的形象,并自托管一个docker注册表。在构建映像后推送到该注册表,这将是CI运行的结束。 另外,如果您的客户正在使用docker,您可以创建一个docker映像,或者将其推送到注册表,或者将其导出为.tar并将其上载到文件存储位置(例如S3)。这将使您的客户的事情变得简单,并确保您控制图像创建步骤(如果这是您想要管理的)。 The gitlab ci docs might help you with the specifics of uploading artifacts to various locations. |
![]() |
Evan R. · gitlab容器扫描程序无法安装aws cli 2 年前 |
![]() |
Armin Orlik · Maven发布执行文件注入 2 年前 |
![]() |
Evan R. · 可以在GITLAB CI目录中间使用通配符。yml 2 年前 |
![]() |
M0M0 · 如何删除名为orgin/branchname的远程分支 2 年前 |