8

I'm working all the day and couldn't find the answer. So I'm asking you guys: is it possible to use AWS Pipeline with AWS Lightsail?

My objective is to store the code inside CodeCommit and use CodeBuild, CodeDeploy, CodePipeline and S3 to create a Continuous Deployment inside a Lightsail instance.

Those are the steps I think I have to follow to accomplish the task:

[x] setup a Lightsail instance
[x] create an IAM user and set permissions
[x] transfer my repository to CodeCommit
[x] create an S3 bucket to hold the build artifacts
[x] create a CodeBuild project to build the artifacts
[x] create a buildspec.yml file with my build steps
[ ] create a CodeDeploy project to deploy my application
[ ] create a CodePipeline project to trigger the build when I commit to certain branch

As you can see, I'm almost there. But I couldn't find any way to use my Lightsail instance with CodeDeploy. So, my question is: is it possible? Is there some limitation? Did I miss something really basic? Is there any other way to make the CD with Lighsail? Sorry, I'm getting a little crazy right here ahhaha.

4

4 回答 4

3

我不是这里的专家,但我认为这样做的方法是使用 CodeBuild 中的自定义脚本,而不是使用 CodeDeploy。

CodeDeploy 有很多自定义的东西来支持回滚和一些高级的东西(意味着你必须在你的目标服务器上安装代理等)。

CodeBuild 仅用于运行脚本,因此我认为添加一个部署脚本(在您的测试之后运行)通过 SSH 连接到您的 Lightsail 实例并部署任何更改的文件(类似于您的做法)是合理的它使用 Travis CI 等开源)。

具体来说,我之前使用过 npm 上的 dploy 包来进行实际的 SFTP 上传。它是 Git 感知的,所以它只上传自上次修订以来的更改(但如果你不关心的话,你可以只 rsync )。

于 2019-03-10T23:06:41.550 回答
3

今天,2017 年 8 月 16 日,无法集成它们。

在 AWS 论坛上问了同样的问题,他们回答说这些技术还没有集成,因为它们是相互分离的。

好吧,我想我将不得不找到另一种方法。

于 2017-08-16T20:03:55.640 回答
2

我最近遇到了同样的挑战并让它发挥作用。

需要使用 CodeDeploy 将 Lightsail 实例注册为本地实例。在实例本身上,需要安装和配置 CodeDeploy 代理。

我在我的博客上写了一篇关于如何设置的文章。

于 2019-05-16T11:33:49.473 回答
0

https://scratchpad.blog/howto/how-to-use-codedeploy-with-aws-lightsail/

遵循这些步骤可以帮助您将 lightail 部署为本地实例,并配置 codedeploy 以部署到本地实例

于 2020-04-26T18:02:52.853 回答