如何从 bitbucket-pipelines.yml 在 ec2 实例上执行一些脚本?
How to execute some script on the ec2 instance from the bitbucket-pipelines.yml?
我有 bitbucket 存储库、那里的 bitbucket 管道和 EC2 实例。 EC2 可以访问存储库(可以执行 pull 和 docker build/run)
所以看来我只需要将一些 bash 脚本上传到 EC2 并从 bitbucket 管道调用它。我怎么称呼它?通常 ssh 连接用于在 EC2 上执行脚本,它适用于 bitbucket 管道吗?这是一个好的解决方案吗?
解决这个问题的两种方法,我会留给你。
我看到你在使用 AWS,AWS 有一个很好的服务叫做 CodeDeploy。您可以使用它并创建一些部署脚本,然后将其与您的管道集成。它的问题是它是一个需要安装的代理。所以它不会消耗一些资源,但如果你正在寻找无代理设计,那么这个解决方案将不起作用。您可以查看以下答案中的示例
您可以使用 Python Fabric(它是一把小枪)或 Ansible(它是一把大炮)之类的东西来实现这一点。它是一种纯粹在 SSH 上工作的无代理设计。
我针对不同的场景使用这两种方法。对于 AWS,我使用 CodeDeploy,对于任何其他云供应商,我使用 Python Fabric。 (我们可以在 AWS 以外的其他平台上使用 CodeDeploy,但它属于内部定价,按部署收费)
我希望这能带来一些清晰度。
我有 bitbucket 存储库、那里的 bitbucket 管道和 EC2 实例。 EC2 可以访问存储库(可以执行 pull 和 docker build/run)
所以看来我只需要将一些 bash 脚本上传到 EC2 并从 bitbucket 管道调用它。我怎么称呼它?通常 ssh 连接用于在 EC2 上执行脚本,它适用于 bitbucket 管道吗?这是一个好的解决方案吗?
解决这个问题的两种方法,我会留给你。
我看到你在使用 AWS,AWS 有一个很好的服务叫做 CodeDeploy。您可以使用它并创建一些部署脚本,然后将其与您的管道集成。它的问题是它是一个需要安装的代理。所以它不会消耗一些资源,但如果你正在寻找无代理设计,那么这个解决方案将不起作用。您可以查看以下答案中的示例
您可以使用 Python Fabric(它是一把小枪)或 Ansible(它是一把大炮)之类的东西来实现这一点。它是一种纯粹在 SSH 上工作的无代理设计。
我针对不同的场景使用这两种方法。对于 AWS,我使用 CodeDeploy,对于任何其他云供应商,我使用 Python Fabric。 (我们可以在 AWS 以外的其他平台上使用 CodeDeploy,但它属于内部定价,按部署收费)
我希望这能带来一些清晰度。