Bitbucket 的解决方案 -> 可以构建不同操作系统的管道 -> 部署到硬件

Solution for Bitbucket -> pipeline that can build different OSes -> deploy to hardware

我们的代码托管在 Bitbucket 中,最初我们想使用 Bitbucket 管道来进行构建。由于 Bitbucket 管道不支持构建 windows 应用程序,我们需要找到替代解决方案来构建。

2个选项: 1.使用Jenkins作为构建服务器进行构建 2.使用AWS CodePipeline构建

代码构建完成后,需要下载到与硬件连接的系统中。因此,AWS CodeDeploy 到本地解决方案似乎是正确的选择。

问题如下: 1. 使用 AWS CodeDeploy 将应用程序下载到本地的假设是否正确? 2. 如果不正确,应该怎么解决?

如果使用 Jenkins 管道: 3. 如果使用 Jenkins 作为构建服务器,指定 "Poll SCM" 或使用 GitPlugin 是否足以用于从 Bitbucket 到 Jenkins 管道的连接? 4. Webhook 是否有助于从 Bitbucket 连接到 Jenkins 的管道?请求请求时它对做某事有帮助吗? 5. 如果#1 假设正确,如何将 Jenkins 连接到 AWS CodeDeploy?

  1. 如果使用 AWS CodePipeline 然后使用 CodeDeploy,步骤是什么?

非常感谢

答案如下:

  1. Is the assumption of using AWS CodeDeploy to download applications to on-premise correct?

  1. If not correct, what should be the solution?

CodeDeploy 将在服务器上下载应用程序或构件 运行。

  1. If using Jenkins for build server, would specifying "Poll SCM" or use GitPlugin be good enough for the connection from Bitbucket to Jenkins pipeline?

您可以使用 BitBucket Jenkins 插件@https://wiki.jenkins.io/display/JENKINS/Bitbucket+Plugin

  1. Would Webhook help for the connection from Bitbucket to Jenkins' pipeline? Does it help in doing something when pull request?

您可以查看插件文档以确定是否支持此功能。

  1. How to connect Jenkins to AWS CodeDeploy if #1 assumption is correct?

您可以使用 Jenkins 插件进行 CodeDeploy @ https://github.com/awslabs/aws-codedeploy-plugin

If using AWS CodePipeline and then CodeDeploy, what are the steps?

如果您想编排构建过程(例如从 SCM 中提取、构建等),那么您将使用 CodePipeline。 CodePipeline 将在检测到 SCM 中的更改后立即启动,然后执行 CodeBuild 并最终执行 CodeDeploy 以进行部署。您也可能最终使用 EventBus 或 CloudWatch Events 设置通知。

We have a project which has used Jenkins in local server already. To utilize the existing work, creating 4-stage pipeline in AWS

以上可以使用Jenkins中的CodeDeploy Plugin部署到AWS。您可以保持现有的 Jenkins 环境不变。

you want to do the orchestration of the build process

在构建过程中,您需要执行不同的步骤,例如从 SCM 拉取,build/compile,然后部署。从一种状态转到另一种状态(从 sim 拉取 -> 构建 -> 部署)称为构建过程的编排。