VTEX IO Azure Pipeline CI/CD
This project is a VTEX IO app that provides a set of tasks to automate the CI/CD process in the VTEX IO platform.
Features
- Push messages in the thread of the pull request.
- Create a pull request in the specified repository with the changes of the current pull request.
- Implement the logic to complete the pull request and initiate the release process using the
projex
CLI.
- Handle exceptions and errors in the tasks and generate error messages in the pull request thread.
- Set up the core settings of the tasks, including installing
projex
, vtex
, and yarn
in the pipeline.
- Implement the logic to log in to the VTEX account using the
apiKey
and apiToken
in the pipeline. These parameters are required to execute the tasks and are passed as inputs to the task.
Available tasks
Pipeline Templates
This extension provides YAML pipeline templates to simplify your CI/CD workflows for VTEX IO projects. These templates are organized in a logical order to support the full development lifecycle:
Available Templates and Usage Order
Beta Generation (1.beta.yml) - First step in the CI/CD process
- Creates a beta version of your VTEX IO app for testing
- Runs when a pull request is created
- Publishes app with beta tag and creates a release tag
Publication (2.publish.yml) - Second step for production release
- Publishes your VTEX IO app to production
- Typically runs after PR is merged to main branch
- Handles authentication and publication to VTEX IO
Deployment & Release (3.deploy-release.yml) - Final step
- Deploys the published app to production workspace
- Creates a Git release with updated version number
- Updates changelog and finalizes the release process
How to Use
- Add these YAML files to your Azure DevOps pipeline configuration
- Configure the required parameters (account, email, apiKey, etc.)
- Set up appropriate triggers for each pipeline stage
For example, to set up a beta release pipeline:
# azure-pipelines.yml
trigger: none
pr:
branches:
include:
- main
extends:
template: docs/azure-devops/beta-example.yml
parameters:
account: 'your-vtex-account'
email: '$(VTEX_EMAIL)'
apiKey: '$(VTEX_API_KEY)'
apiToken: '$(VTEX_API_TOKEN)'
environment: 'development'
Installation
You can install the extension to your Azure DevOps organization from Marketplace:
VTEX IO CI/CD Utilities
You may need to add Contribute to pull requests permission to your Project Collection Build Service Accounts from project -> repository -> Security.

Development and contribution
To contribute to this project, follow these steps:
- Clone the repository and navigate to the project directory:
git clone https://github.com/Maik3345/azure-devops-vtex-extension
cd azure-devops-vtex-extension
- Install the project dependencies:
npm install
- Start the development server:
npm run dev
This command will start the development server and allow you to make changes to the tasks.
Update the version of task.json and vss-extension.json whenever you make changes to the tasks.
Build the extension:
npm run build