envd for Your Team
envd is designed for teams! 🥰
This guide shows how easy it is to integrate
envd into your infrastructure. Please contact us on 💬 Discord if you have problems, we are glad to help!
How does it work?
build.envd in your git repository contains the configuration of the
envd build can be run to build and push the image in CI/CD systems such as GitHub Actions, Jenkins, or Argo.
Users can push the image to any OCI image registry such as Docker Hub, self-hosted Harbor, or Quay. Then it can be used in the AI/ML platform.
Both AI/ML engineers and infrastructure engineers can benefit from
envd. AI/ML engineers will
- Build the environments easily: You can write simple instructions in Python, instead of Bash / Makefile / Dockerfile / ..., to build the development environments.
- Reproduce the result:
envdbuilds are isolated and clean. You can reproduce the same development environment on your laptop, public cloud VMs, or Docker containers without any change in setup.
- Share your work with teammates: You can share, version, and publish
envdenvironments with Docker Hub or other OCI image registries.
Infrastructure engineers can:
- Manage boundaries and expectations with AI/ML teams:
envdhelps get clear boundaries and expectations between the infrastructure and AI/ML teams. AI/ML engineers can build the environments without asking you for help. You get more time to focus on the infrastructure.
envdwith low cost:
envdimages can be published in any OCI image registries. There is no new requirement to use
envdin your CI/CD platforms:
envdintegrates with CI/CD platforms well.
- Save your time and resources:
envdsupports shared build cache and features like remote build. It saves you plenty of time.
Build and push the image
You can use the command below to build and push images to Docker Hub.
$ envd build --output type=image,name=docker.io/<username>/<image>,push=true
Keys supported by image output:
type=image: The output type is image.
name=<value>: specify image name(s)
push=true: push after creating the image
Use the image
envd images contains a sshd server and a conda environment
envd by default. The sshd server listens on port 2222. You may need to expose the port in your Kubernetes deployment.
Besides this, the source code is not in the image. Thus you may need to integrate the source code into the image.