Comments (4)
hi @veeramarni.
thanks for --privileged
notice, we will remove it right away. the reason to use this flag was about Google Chrome not wanted to run in xvfb
without that flag. since now its possible to run chrome headless this can be easily removed.
about orchestration, yes, we are using RxJS to handle concurrent jobs. we have a plan to do a 1.0
release (at least beta) this week or at least in the beginning of next.
about second release that we have in plan where distribution jobs will be possible across servers, kubernetes seems like a perfect tool for this (I think).
if you have any other suggestions please feel free to raise it.
from abstruse.
It might be interesting how https://www.portainer.io/ handles integration for Docker Swarm and Azure Container Instances.
Azure Container Instances can be useful to provide infinite scalable cloud-native build environment ( https://docs.microsoft.com/en-us/azure/container-instances/container-instances-jenkins ). There is also Amazon Fargate (see https://serverless.com/blog/serverless-application-for-long-running-process-fargate-lambda/ ). In the future I would be interested to integrate my container launch environment (based on my own API), which will be publicly rented.
I mention to think about worker environments, not just Docker / Kubernetes.
from abstruse.
Hi Adam!
Distributed processing with workers is something we talk and think about alot. We think it is essential to have this feature. With our limited resources we scheduled this for 3.0.0 release now and as you can see I work hard to release 2.0.0 in the last days.
I investigated about this already and I think best way to communicate between main instance with workers is via gRPC
but not sure if we can generalize or standarize this to be compatible with all mentioned services. Seems like you investigated about that also, can you give us some input here? Would be highly appreciated.
from abstruse.
GitLab CI has concept of runner for that: https://docs.gitlab.com/runner/
There is cool plugin to auto-scalable workers on that: https://docs.gitlab.com/runner/configuration/runner_autoscale_aws/index.html
Jenkins has agent concept: https://jenkins.io/doc/book/pipeline/syntax/
CircleCI has concept executor type: https://circleci.com/docs/2.0/executor-types/#section=configuration
- What kind of tasks in your opinion should such an worker perform? Do you can list them anyway?
- Where should this
gRPC
agent work? - Do we want to support, for example, our own Docker images (this prevents us from placing anything inside the container)? I support your product, but I do not use it yet.
- Do we want to support cache?
- Do we want to support many different type of workers (AWS Fargate & Azure Cointainer Instances togerther) at the same time? Portainer handles a multiple endpoints at the same time.
- How to handle group of containers (aka services container)?
- Should each agent support the same possibilities? I think not, so we must support the validation that, for example, this agent does not support building using services or SSH connection to container.
Docker Engine provides REST endpoint for example:
- create container: https://docs.docker.com/engine/api/v1.37/#operation/ContainerCreate
- get logs of container: https://docs.docker.com/engine/api/v1.37/#operation/ContainerCreate
There is also Docker Swarm which distribute jobs over docker multiple-hosts.
I think you should take awareness how works endpoint settings in portainer:
There is also documentation of Azure Container Instances good to read: https://docs.microsoft.com/en-us/rest/api/container-instances/
from abstruse.
Related Issues (20)
- Automated building? HOT 3
- Button/link to see build log as simple plain text? HOT 3
- after_failure not works as expected
- Abstruse updates webhook for github repositories with incorrect provider secret HOT 12
- Defining a cache path results in runtime error
- Add an option to mount directory inside the docker container.
- Prepare image before running a script.
- bug(webhooks): multiple triggers in case of pull request
- Cache is being used always
- Abstruse crash due to too long `log`
- Matrix - Env too long error HOT 2
- feat(): Multiarch support
- Make dev failed HOT 1
- Website certificate is expired
- Website down HOT 7
- Can not sync with Bitbucket's provider HOT 1
- Testing and deploying a Laravel app HOT 2
- Build Config editor uses non-monospace font
- Docker-compose default config uses invalid network subnet HOT 3
- sub unsub HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from abstruse.