ADO Express simplifies Azure DevOps release management by streamlining the deployment process. It's intuitive and efficient, revolutionizing how you handle releases.
- Automated Release Management: Streamlines your release process, ensuring uniform deployments.
- Search and Export: Search releases and export results to Excel.
- Detailed Release Deployment: Deploy via query, release number, or environment.
- Crucial Release Management: Prioritize crucial releases; halt on failure.
- Flexible Run Options: Run via Docker, locally, or through scripts.
Choose your preferred method:
- CLI: Efficiently perform tasks via the command line. Requires Docker or Python. See CLI Usage.
- Web Application: Use an intuitive UI for a graphical approach. See Web Application Usage.
Experience ADO Express in action: Watch the Demo
Run tasks through the CLI with minimal setup using Docker or Python. Results are logged and saved to deployment-plan.xlsx.
Set the following variables (defaults are null
or false
):
- EXPLICIT_RELEASE_VALUES: Dict specifying releases to include or exclude.
{'include': ['releaseOne', 'releaseTwo']} # or {'exclude': ['releaseOne', 'releaseTwo']}
- CRUCIAL_RELEASE_DEFINITIONS: Comma-separated critical release definitions to deploy first.
releaseOne,releaseTwo
- ORGANIZATION_URL: Your Azure DevOps organization URL.
https://dev.azure.com/{organization}
- PERSONAL_ACCESS_TOKEN: Your Azure DevOps personal access token.
- QUERIES: Comma-separated ADO query IDs or paths.
queryId1,queryId2
- RELEASE_NAME_FORMAT: Format for release names.
Release-$(rev:r)
- RELEASE_TARGET_ENV: Target deployment environment (e.g.,
prod
). - SEARCH_ONLY:
True
to search without deploying,False
otherwise. - VIA_ENV:
True
to search based on release environment. - VIA_ENV_LATEST_RELEASE:
True
to retrieve latest release from environment. - VIA_ENV_SOURCE_NAME: Name of the source environment (e.g.,
qa
).
Command-Line Argument Order:
<EXPLICIT_RELEASE_VALUES> <CRUCIAL_RELEASE_DEFINITIONS> <ORGANIZATION_URL> <PERSONAL_ACCESS_TOKEN> <QUERIES> <RELEASE_NAME_FORMAT> <RELEASE_TARGET_ENV> <SEARCH_ONLY> <VIA_ENV> <VIA_ENV_LATEST_RELEASE> <VIA_ENV_SOURCE_NAME>
- Prerequisite: Ensure Docker is running.
- Build Container:
docker build -t <CONTAINER_NAME> .
- Set Environment Variables: Configure variables in .env.
- Run Container:
docker run --env-file ./.env -it <CONTAINER_NAME>
Refer to Environment Variables & Command Line Arguments for details.
- Prerequisite: Ensure Docker is running.
- Open in VS Code: Open the repository in Visual Studio Code.
- Set Environment Variables: Update .env.
- Start Dev Container: Press
F1
, selectDev Containers: Rebuild and Reopen in Container
.
Start both the Frontend and Backend services.
You can quickly start both the frontend and backend using npm scripts:
- Install Dependencies:
- Windows:
npm run install-all
- Unix-based systems:
npm run install-all-unix
- Windows:
- Start the Application:
This command will concurrently start both the frontend and backend.
npm run start
- Navigate to the frontend directory:
cd ado_express_app
- Install dependencies:
npm install
- Run the development server:
The frontend should now be running locally.
npm run start
- Create a virtual environment:
python -m venv ./venv
- Activate the virtual environment:
- Windows:
.\venv\Scripts\activate
- Linux/macOS:
source venv/bin/activate
- Windows:
- Install dependencies:
pip install -r requirements.txt
- Navigate to the API directory:
cd ado_express_api
- Start the application:
The backend API should now be running locally.
daphne asgi:application
- Frontend: Svelte, TypeScript, Tailwind CSS
- Backend: Python, Django
Contributions are welcome! Open an issue or pull request on GitHub.
This project is licensed under the MIT License.
- Farzam Mohammadi: Email