NorLab TeamCity GUI (VPN/intranet access) โข norlabulaval (Docker Hub)
The user side companion of Dockerized-NorLab (DN) image builder.
It provide a containerized workflow tailor-made for robotic research.
Dockerized-NorLab project application (DNA) manage Dockerized-NorLab (DN) container lifecycle
providing functionality for robotic software development, deployment, testing,
continuous integration, slurm job experimentation and release publishing.
Maintainer Luc Coupal
l4t/arm64
(Jetson), darwin/arm64
(Mac OS X), and linux/x86
without configuration changes.l4t/arm64
and linux/x86
platforms.Dockerized-NorLab (DN) and the Dockerized-NorLab project application (DNA) solve critical challenges in robotic research and development by providing a standardized, reproducible, and scalable containerized environment.
๐ Reproducibility
Ensure consistent environments across different machines, operating systems, and team members. Your code runs the same way everywhere, eliminating "it works on my machine" problems.
๐ Isolation
Keep your development environment clean and isolated from your host system. Experiment freely without affecting your main system configuration.
๐ฅ Project Collaboration
Streamline team collaboration with standardized development environments. New team members can get up and running in minutes, not hours or days.
๐ Fast Deployment
Deploy your robotic applications quickly and reliably across different platforms - from development workstations to production servers and embedded systems.
โ
Code Quality
Maintain high code quality with integrated testing, continuous integration, and standardized development practices built into the containerized workflow.
DNA and DN support a wide range of robotic development and deployment scenarios:
Development, Deployment and Release Modes๐ Local and Remote Development (Develop Mode)
Set up consistent development environments on local workstations and remote machines. DNA is installed on both local and remote hosts, enabling seamless development workflows across different locations.
โฏ๏ธ Deployment (Deploy Mode)
Deploy your robotic applications to target hosts with DNA installed. Streamlined deployment process ensures your applications run consistently in production environments.
๐ฆ Release Mode
Create and distribute source code release. Released containers can run independently without requiring DNA installation on the target system.
๐ Testing and Continuous Integration (CI)
Run automated CI tests in isolated, reproducible environments. Perfect for validating code changes and maintaining code quality across your robotic projects. DN/DNA is CI framework agnostic, it can run tests localy or on any CI server.
๐งช SLURM Job Experiment
Execute compute-intensive robotic algorithms and simulations on SLURM-managed clusters with consistent containerized environments.
โ Multi-Platform Support
Work seamlessly across different operating systems and architectures:
l4t/arm64
(NVIDIA Jetson platforms)darwin/arm64
(Mac OS X with Apple Silicon)linux/x86
(Standard Linux systems)๐ฎ GPU Acceleration
Leverage GPU computing power for robotics applications through nvidia-docker integration, supporting both ARM64 and x86 platforms.
dna
, the Dockerized-NorLab project app
# Clone repository on host computer git clone --recurse-submodule https://github.com/norlab-ulaval/dockerized-norlab-project.git cd dockerized-norlab-project # Install DNA on host (Check install option with $ bash install.bash --help) # Note: # - Installation supports both online and offline scenarios # - Might require sudo if dockerized-norlab-project/ is owned by root bash install.bash # Check available commands dnaMake a repository ready to use with DNA
# To DNA-initialize a project repository (must be git initialized) cd <path/to/your/project/repository> dna init
Which add a few directories to your project repository
your-project-repository/
โโโ .dockerized_norlab/ <- DNA configuration
โโโ artifact/ <- Runtime produced data (mounted)
โโโ external_data/ <- Pre-existing data made available in your container (mounted)
โโโ src/ <- Your repository source code (mounted/copied)
โโโ tests/ <- Your repository test code (mounted/copied)
...
โโโ .dockerignore <- Specify files/dir that won't be copied in container on build
โโโ .gitignore <- Specify files/dir to keep out of VCS
โโโ README.md <- Created if it did not already exist
Note:
.old
, not overriden.To spin a DN container and open a terminal in it, run the following command from anywhere in the DNA initialized repository
dna build develop dna up # When your done dna down
๐ Complete Documentation๐ For detailed configuration and command documentation, see the Documentation section below.
dna
commands
To try DNA in a throwaway project:
# Clone dockerized-norlab-project-mock-EMPTY git clone https://github.com/norlab-ulaval/dockerized-norlab-project-mock-EMPTY.git cd dockerized-norlab-project-mock-EMPTY dna init
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4