2. 2
● About the organizer:
○ Gaurav Dubey
○ Rajat Vishwakarma
○ Ranjeet Bhoyar
○ Dhruba Bose
● About the sponsor:
○ MuleSoft
Introductions
A SHOW OF HANDS:
Who is new to this Meetup?
10. Benefits of CI/CD
10
Improve Customer satisfaction
and Experience
Software releases
are less prone to
defects
Increase development
productivity
Focus on new
features
Higher Employee
Engagement
15. 15
• Download and Install Maven from https://maven.apache.org/download.cgi
• Set “M2_HOME” environment variable
• Verify Installation using “mvn --version” command
• Mule provides built-in Maven functionality, including the following features:
○ Anypoint Exchange
○ Anypoint Studio
○ Mule Runtime Engine
○ Installing 3rd party JARs
Maven - Project Management Utility
16. • The Maven build follows a specific life cycle to deploy and distribute the
target project.
• There are three built-in life cycles:
○ default: the main life cycle as it's responsible for project deployment
○ clean: to clean the project and remove all files generated by the previous build
○ site: to create the project's site documentation
16
Building Maven Project
17. Here are some of the most important phases in the default build lifecycle:
• validate
• compile
• test
• package
• integration-test
• verify
• install
• deploy
17
Building Maven Project
A Maven phase represents a stage in the Maven build lifecycle.
For example, if we want to execute the entire default
lifecycle then run the deploy phase:
mvn deploy
Alternatively, we can stop at the install phase:
mvn install
But usually we'll use the below command to clean the project
first by running the clean lifecycle before the new build or
deployment.
mvn clean install
mvn clean package deploy -DmuleDeploy
18. • Integrate the packaging and deployment
of your Mule applications with Maven
lifecycle.
• Automate Mule application deployment
using any of the following deployment
strategies:
○ CloudHub
○ Runtime Fabric
○ On-premises Mule instances
■ Standalone deployment
■ Using Anypoint Runtime Manager REST API
■ Using Runtime Manager agent
18
MMP - Automate Mule Deployment
<plugin>
....
<configuration>
<cloudHubDeployment>
<uri>https://anypoint.mulesoft.com</uri>
<muleVersion>${app.runtime}</muleVersion>
<username>${username}</username>
<password>${password}</password>
<applicationName>${cloudhub.application.name}</a
pplicationName>
<environment>${environment}</environment>
<region>${region}</region>
<workers>${workers}</workers>
<workerType>${workerType}</workerType>
<properties>
<key>value</key>
</properties>
</cloudHubDeployment>
</configuration>
</plugin>
<plugin>
<groupId>org.mule.tools.maven</groupId>
<artifactId>mule-maven-plugin</artifactId>
<version>3.4.2</version>
<extensions>true</extensions>
<configuration>
<standaloneDeployment>
<muleHome>${mule.home.test}</muleHome>
<muleVersion>${app.runtime}</muleVersion>
</standaloneDeployment>
</configuration>
</plugin>
<plugin>
....
<configuration>
<runtimeFabricDeployment>
<uri>https://anypoint.mulesoft.com</uri>
<muleVersion>4.3.0</muleVersion>
<username>user</username>
<password>pass</password>
<applicationName>newapp</applicationName>
<target>rtf</target>
<environment>Sandbox</environment>
<provider>MC</provider>
<replicas>1</replicas>
<properties>
<key>value</key>
</properties>
<deploymentSettings>
...
</deploymentSettings>
</runtimeFabricDeployment>
</configuration>
</plugin>
19. ● Anypoint Studio Configuration
● Github Repository
SCM - Source Control Management
20. 20
• Navigate to https://github.com and create new free GitHub account then verify
your account.
• Create Git repository Where you want to implement CI/CD.
• Basic steps to add, commit and push Mule code to GitHub.
○ git clone – to clone the create local repository
○ git status – to check the status of repository
○ git add – to add the changes to staging area
○ git commit – to commit the changes to local repository
○ git push – to publish changes to remote GitHub server.
Setting-up GitHub for SCM
22. 22
• Download the latest Jenkins file(www.jenkins.io/download/).
• Unzip and execute the exe file and host the application.
• Login to your Jenkins server (http://localhost:<PORT>) then
○ Configure JDK and Maven(JDK_HOME, MAVEN_HOME)
○ Add required plugins(Git, Github, Scm, Maven, etc..)
○ Create Freestyle Project
○ Configure SCM(Github Repository)
○ Configure Build Trigger(Schedule)
○ Set Build Goals
○ Post Build Actions
Setting-up Jenkins Server
25. Take a stand !
25
●Nominate yourself for the next meetup speaker and suggest a topic as well.
26. What’s next
26
●Share:
○ Tweet your pictures with the hashtag #MuleMeetup #MuleSoftMeetup
○ Invite your network to join: https://meetups.mulesoft.com/chennai/
○ Facebook page : https://www.facebook.com/mulemeetupchennai/
●Feedback:
○ Contact your organizer Ramakrishna, Raghunath, Mahesh and Premkumar to suggest topics
○ Contact MuleSoft at meetup@mulesoft.com for ways to improve the program
●Our next meetup:
○ Date: TBD
○ Topic: TBD