---
schema_version: "1"
id: 5326c6b197cc5deda4343870bda79194254d71303426b97a656514b2211835cd
title: Continuous Integration
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/mule-runtime/4.6/continuous-integration.md
canonical_url: https://docs.mulesoft.com/mule-runtime/4.6/continuous-integration
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 89eeb3b50c57b31c2c865f3f29f314cd72280cf2c91a8f30683559ba0c0e20f4
description: MuleSoft Documentation Site
release: "4.6"
latest: false
---
---
product: Mule Runtime
version: 4.6
keywords: build, deploy, test, maven, ci, continuous integration, continuous, integration
---

# Continuous Integration

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

The need for continuous integration (CI) for a project is very important. By using Maven as your
build tool, you can create a build that gets triggered on every project change, and run all of its
unit and functional tests automatically.

The advantages of CI are:

- Provides early notification of issues in the software development lifecycle.

- Ensures code gets fully tested before release.

- Successfully tested branches ensure better success when merging to the main branch.

## Continuous Integration Objectives

A CI system does all of the following:

1.  Listens for new commits to a project’s source code management system. The CI system watches many
    branches for new commits. You can either use polling to find new commits, or the management
    system can trigger events that inform your program of commits.

2.  Pulls the newest branch into a centralized server.

3.  Creates build jobs on a centralized server.

4.  Runs configurable unit and integration tests on the code base that compile, test, package, and
    deploy the project in a sandbox to ensure the project works correctly.

5.  Stores artifacts in a repository.

6.  Displays the results of each build.

7.  Deploys passing builds to production.

For information about these tools, see their websites.

## MuleSoft CI Tools

You can deploy Mule applications using:

- [The API Manager](https://docs.mulesoft.com/api-manager/latest/getting-started-proxy)

- [The Runtime Manager Agent](https://docs.mulesoft.com/runtime-manager/runtime-manager-agent)

You can create functional tests with [MUnit Unit Testing](https://docs.mulesoft.com/munit/latest/).

The mule-maven-plugin supports deployments to:

- CloudHub

- Runtime Fabric

- On-premises Mule instances

  - Standalone deployment

  - Using Anypoint Runtime Manager REST API

  - Using Runtime Manager agent

For a complete CI example that uses Jenkins and Maven, see the Anypoint Platform Development:
Advanced class on the
[MuleSoft training site](https://trailheadacademy.salesforce.com/products/mulesoft). The training
site also includes related classes and certification exams.

## External CI Tools

Popular CI tools are:

- Jenkins

- Hudson

- TeamCity

- Bamboo

For information about these tools, see their websites.

## Integration Notes

If you’ve chosen to use connectors in your functional test cases, watch out for potential port
conflicts that can occur in a continuous build server.

If your target deployable is a web application and not a Mule application, consider using Junit
Integration Test Runner for running your functional tests and avoiding port conflicts.

## See Also

- [Maven Support in Mule](https://docs.mulesoft.com/mule-runtime/4.6/using-maven-with-mule)

- [MUnit Unit Testing](https://docs.mulesoft.com/munit/latest/)
