This article will get you started on creating a Laravel CI/CD pipeline in Jenkins. There are tremendous productivity gains to implement CI/CD in Laravel.
In case you missed it, be sure to read our post on setting up Laravel project in MacOS Docker.
Table of Contents
Step 1: Install Jenkins
Before we can start building Laravel projects in Jenkins, we need to install Jenkins first. Jenkins can be installed on various platforms, including Windows, macOS, and Linux. You can find the installation instructions for your specific platform on the official Jenkins website: https://www.jenkins.io/download/.
Step 2: Install the necessary plugins
Once Jenkins is installed, we need to install the necessary plugins to be able to build Laravel projects. To do this, we need to navigate to the “Manage Plugins” section of Jenkins. From there, we can search for and install the following plugins:
- PHP Plugin
- Laravel Plugin
Step 3: Configure PHP in Jenkins
Now that the necessary plugins are installed, we need to configure PHP in Jenkins. To do this, we need to navigate to the “Global Tool Configuration” section of Jenkins. From there, we can add a new installation of PHP by clicking the “Add PHP” button. We need to specify the path to the PHP executable on our system, as well as a name for the PHP installation.
Step 4: Create a new Jenkins project
Now that Jenkins is configured to build Laravel projects, we can create a new Jenkins project for our Laravel project. To do this, we need to navigate to the Jenkins dashboard and click the “New Item” button. We need to give the project a name and select “Freestyle project” as the project type.
Step 5: Configure the Jenkins project
With the Jenkins project created, we need to configure it to build our Laravel project. To do this, we need to navigate to the project configuration page and configure the following:
Source code management
We need to specify the repository URL and credentials to access our Laravel project’s source code.
Build triggers
We need to specify when the project should be built. For example, we can trigger a build whenever changes are pushed to the repository.
Build environment
We need to configure the build environment to use the PHP installation we configured in step 3.
Build steps
We need to configure the build steps to run the necessary commands to build our Laravel project. For example, we can run the following commands:
composer install
php artisan key:generate
php artisan migrate
php artisan test
Step 6: Build the Jenkins project
With the project configured, we can now build it by clicking the “Build Now” button on the Jenkins project dashboard. Jenkins will then run the build steps we configured in step 5 and display the build output.
That’s it! We have successfully built our Laravel project in Jenkins. We can now configure Jenkins to automatically build and deploy our Laravel project whenever changes are pushed to the repository.