Exporting Pipelines
Once you've designed a pipeline, export it as a YAML configuration file ready to commit to your repository.
How to export
Open your pipeline in the editor and click Export in the top toolbar. A dialog appears:
- Select the target platform (GitHub Actions, GitLab CI, or Azure DevOps)
- Click Download
The YAML file downloads to your machine. Commit it to your repository in the correct location for your platform.
Supported platforms
GitHub Actions
File location: .github/workflows/<pipeline-name>.yml
The export generates a standard GitHub Actions workflow file:
name: ci
on:
push:
branches:
- main
jobs:
install-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm testGitLab CI
File location: .gitlab-ci.yml (root of the repository)
stages:
- build
- test
- deploy
install-and-test:
stage: build
image: node:20
script:
- npm ci
- npm testAzure DevOps
File location: azure-pipelines.yml (root, or wherever configured in your pipeline settings)
trigger:
branches:
include:
- main
stages:
- stage: Build
jobs:
- job: install_and_test
pool:
vmImage: ubuntu-latest
steps:
- script: npm ci
displayName: Install dependencies
- script: npm test
displayName: Run testsExport vs. run
pipel8ne generates the YAML but does not run the pipeline. After exporting:
- Review the generated file
- Add any platform-specific secrets to your CI provider (GitHub Secrets, GitLab Variables, Azure Variable Groups)
- Commit the YAML file to your repository
- Your CI platform picks it up and runs it automatically on the next trigger
Handling secrets in the export
Credentials referenced in your steps are not embedded in the exported YAML. They appear as environment variable references:
env:
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} # GitHub ActionsYou must add the corresponding secret to your CI platform with the matching name before running the pipeline.
Re-exporting
You can re-export a pipeline as many times as you want after making changes in the editor. Simply overwrite the old file in your repository. The pipeline's history in pipel8ne is preserved regardless.
