aws / copilot-cli

The AWS Copilot CLI is a tool for developers to build, release and operate production ready containerized applications on AWS App Runner or Amazon ECS on AWS Fargate.
https://aws.github.io/copilot-cli/
Apache License 2.0
3.54k stars 417 forks source link

Deploy Dockerfile-less apps #1081

Open dastbe opened 4 years ago

dastbe commented 4 years ago

So while I generally do write a Dockerfile for my applications, I find that what I usually is do is replicate the same few steps depending on the language I'm using, usually cribbing from a tutorial written within the last few months. Given pretty much everything I write is in the standard format for that language's build system/package manager, it should be the case that copilot or some other software should figure this out for me.

One possible option would be buildpacks, which handles auto-detection of what to execute to build/container the app and would only require specifying the builder base image (which could also have a well-defined default). In that world, I could take most any arbitrary app I have and build and deploy it from the copilot cli.

kohidave commented 4 years ago

That’s a really cool idea. Let us do some research and we’ll comment back on what we find. Thanks for the thorough suggestion!

efekarakus commented 4 years ago

@nthomson-amazon built an awesome prototype with copilot here: https://github.com/nthomson-amazon/copilot-cli/commit/0d7934c766221416c6ef75fa3ff09cb43417c23e !

kohidave commented 3 years ago

Some cool folks on Twitter brought this up again :)

josegonzalez commented 3 years ago

We'd also love this - brought this up with our TAM - but are specifically looking for supporting arbitrary container images. We allow developers to build images however they want, and then push those images to ECR.

Ideally, we can specify an arbitrary image to be deployed without needing a Dockerfile.

josegonzalez commented 3 years ago

Work aside, I was also looking at adding support for ECS/Fargate to the Dokku PaaS via fargatecli. That is no longer supported in favor of copilot, and Dokku handles building the image itself, so using copilot is dead in the water without extra setup.

kohidave commented 3 years ago

Hey @josegonzalez !!! We can actually use pre-built images in Copilot :) https://aws.github.io/copilot-cli/docs/manifest/lb-web-service/#image-location

We just don't support buildpacks yet.

josegonzalez commented 3 years ago

Is that something we can specify via a cli file?

kohidave commented 3 years ago

Yea :D When you run init (or any of the svc or job inits) you can specify an --image flag.

Cordivae commented 2 years ago

I see there was a prototype over a year ago. Any progress on this?

As a company transitioning from PCF -> AWS Native, the idea of having to make Dockerfiles just seems kludgy / a step backward.

iamhopaul123 commented 2 years ago

Hello @Cordivae. Sorry so far we still can't get to this issue. For features, we mostly prioritize our tasks based on how many 👍 we get for it. We'll probably wait until this feature gains more popularity. Please keep track of this issue for more update. Thank you!