Skip to end of metadata
Go to start of metadata

All Proof of Concepts (PoC) start by first forking the OPNFV repo to your personal Github account. This allows you to have full control in settings up
the CI/CD services and provides a location to point at when discussing results with others.

To test the services with external hardware resources you can reserve a server from LaaS and connect it as an agent/runner/machine.


  1. Login to CircleCI with your Github account.

  2. Select 'Setup All repos'
  3. Click "Start a Project"

  4. Authorize the app
  5. Click "Setup Project" on the repository

  6. Select Linux → [Project Language] and copy the YAML config
  7. Commit the YAML config to .circleci/config.yml (Note: it must end in .yml and not .yaml) on a new branch and open a PR

  8. Click "Start Building"

  9. Set any needed environment variables at<username>/<project>/edit#env-vars
  10. You'll probably want to enable CircleCI checks (a separate app that updates the Github Checks API for PRs):<username>/settings#vcs
  11. Modify the YAML config to match what you'd like the build to do and push changes to your branch to update the PR. Refer to the CircleCI docs for help.


  1. Login to with your Github account.

  2. Authorize the gitlabhq app
  3. Accept the TOS
  4. Select "Create a Project"
  5. Click "CI/CD for external repo" tab and select "Github" from under "Connect repositories from"

  6. Authorize the additional permissions for the gitlabhq app
  7. Click "Connect" on the repository you want to setup CI for
  8. Once it's done, select "Go to project"
  9. Commit a .gitlab-ci.yml file on a new branch using one of the examples and open a PR. 
  10. Notices should show up on the PR immediately that Gitlab pipelines are running.
  11. Add any needed environment variables to your project under the project's CI/CD settings Variables<username>/<project>/-/settings/ci_cd
  12. Add any runners you need for hardware testing to the project (under Runners at the same settings location) following the instructions.

  13. Modify and update the YAML config until the workflow matches your needs before merging in. Refer to the Gitlab-CI docs for help.

Azure Pipelines

  1. Go to the Azure Pipelines Github marketplace app and select "Setup a plan"  →  "Install it for free" → "Complete order and begin installation"

  2. Authorize the Azure Pipelines app
  3. If you don't have one already, you'll need to create and associate a Microsoft account and email address in order to login.
  4. Login with your Microsoft account. This will create an 'Azure DevOps Organization'
  5. Authorize "Azure Pipelines by Microsoft"

  6. Select the repository to setup
  7. Select a predefined pipeline to use
  8. Click "Save and run", then select "Create a new branch for this commit and start a pull request" → "Save and run"
    This will create a commit on the specific Github branch of your repository containing the configuration you selected in the previous step.

  9. Set variables by selecting your pipeline → edit add variables or create a variable group under "Library" and link it to the pipeline.

    The URL for managing variable groups looks like:<organization>/<project>/_library?itemType=VariableGroups
  10. Add any agents needed for the pipelines to the Default pool by navigating to
    the project home page → clicking the gear icon → selecting "Agent pools" under Pipelines → select the "Default" pool,
    and then following the instructions given after clicking "New Agent".

    The URL for managing agents looks like:<organization>/<project>/_settings/agentqueues

  11. Modify and update the YAML config until the workflow matches your needs before merging in. Referring to the Azure Pipeline docs for help.
  • No labels