<@U092308M7> I saw those docs, but I need multiple...
# ktor
d
@orangy I saw those docs, but I need multiple docker images in multiple ci pipelines with some shared modules -- which could be a common setup for microservice infrastructure. Also, do you build and redeploy all the microservices for changes in any one of them or just each changed one seperately?
o
We are using nomad for cluster infra, so it handles versioning itself. I’m not devops guy (yet), so I’m afraid I can’t say how it all works right away 😞
p
build and redeploy each one of them if the change is in a common module.
you really want to decouple the binary generation (docker image) from the deployment of that image also
but that is really not ktor oriented. once you get your docker image you should look at ci's docs
d
@pastjean Do you already have such a setup? I'm still trying to decide whether to go w/ ktor instead of Vert.x... and it partially depends on ease of deployment... I'm wondering how others are doing it.
p
ktor vs vertx should not change a thing when it comes to that part
im deploying ktor + dropwizard to kubernetes with distelli.com
o
For comparison, you might want to ask in #server
d
@pastjean It is a big difference, since vertx has it's own deployment of microservices as verticles even w/o any orchestration like docker swarm... but since I'm on a docker swarm setup, I find it's a waste to have such a heavy thing... and ktor seems to be the only async server w/ coroutine support..
@pastjean Oh, distelli.com is another one of those automated deployers...? I guess I could try #server...
p
i use distelli as a basic CI, not the deployment part with kubernetes #server would help indeed. basically what i do with it is execute a bash script, which also was how i did it in my past with jenkins.
o
ktor tries to adhere to https://12factor.net as much as possible, and though some things are not there yet, we are trying to make it as devops friendly as we can. I have a list of like 40 items we need to support 😱
☝️ 2
d
@pastjean But how does your git repo and build scripts look?
You use git submodule?
p
no submodules, one repo
Copy code
- <root>
\ - kubernetes/<manifests.yaml
  - Dockerfile
  - build.gradle
  - <kotlin/java stuff>
  - build.sh
build.sh
Copy code
gradle build
docker build -t app:$COMMIT_HASH

docker push app:$COMMIT_HASH

# generate kubernetes manifest with good commit_hash 
kubectl apply -f kubernetes/<manifest.yaml>
d
@pastjean You have many microservices or just one?
p
many, one per repository
d
@pastjean And one per idea project? Or many modules in one big project?
p
one per idea project although you could setup submodule to have only one project. that should not affect the way you do deployments though
d
Thanks for your help, I'll see what I can come up with.. 🙂