Mule deployment based on Jenkins Jobs - mule

I have a Zip file exported by Mule Studio. Need to deploy it on Mule Server using Jenkin Jobs. Please provide the Steps.
I am having mule enterprise standalone 3.3.2

Mule apps deployment apps is just as simple as most the other container ones. Just copy the zip to an APP folder. If you have an scp tool, there you go.
Of course this only applies to the community edition, enterprise edition is bundled with more sophisticated mechanisms of monitoring/management.

Agree with Victor here, however, you can use the MMC agent REST APIs also to deploy the apps directly to the mule platform which will also add the build into the repository.
You just need to look for an option how to place the zip in the $MULE_HOME/apps.

Related

Stuck on running Mule Jar file without Mule Runtime environment

I am using Mule 3.9 with Anypoint studio 7.2 for API development. After my functionality developed I was able to export to a Jar file which I was supposed to run on my hardware which doesnt support x64 architecture.
I got error of not supported architecture. So I am looking for solution in 2 ways.
As hardware architecture cant be changed, is there any way to still run Mule program on it without using Mule runtime environment.
Using exported Jar file is it possible to use it only without Mule installed on my hardware machine.
Thanks in advance.
As per comment See error message,when tried to run in Docker also.
Mule uses the Java Service Wrapper to bootstrap the Mule runtime. At this time the version of the wrapper included with Mule previous to Mule 4.4 doesn't support aarch64 as an architecture, only 32 bits ARM (armhf). At this time only Mule 4.4 Enterprise Edition seems to has compatibility with armhf-64. You should try that version to see if aarch64 is recognized as armhf-64.
Also note that Studio 7.x is not compatible with Mule 3.x applications so it is not possible to use it to develop a Mule 3.9 application. You are saying that the deployment file is a jar file so it is clearly a Mule 4 application. A Mule 4 application can not be deployed to a Mule 3 server, they are not compatible.

SAP libraries in Mule domain

I'm going to develop couple of Mule applications that will use SAP connector so I'd like to keep SAP libraries (sapjco3.jar, sapidoc3.jar and native sapjco3.dll) in the Mule domain however I'm struggling with how to export sapjco3.dll.
I'm not using MVN and I tried to place sapjco3.dll to the project /lib folder, also to src/main/domain/lib and src/main/resources/lib folder ... but it seems that Mule Eclipse plugin always ignores it when exporting the domain as "Anypoint Studio Project to Mule Deployable Archive".
Are there any best practises how to organise this in the domain ?
I am not sure how to organize these in the project when your exporting from Studio. But instead of keeping these jar files as part of the project, you can keep in the mule standalone server in the below locations
--> $MULE_HOME/lib/user
--> $MULE_HOME/lib/native
for further details, refer the mule documentation
https://docs.mulesoft.com/mule-user-guide/v/3.7/mulesoft-enterprise-java-connector-for-sap-reference

How to get JustMocks test projects working in VisualStudio online

I have started using VisualStudio.com build services for my continuous Integration. However some of my test projects use JustMocks and I can't find an easy way to get this working in the cloud.
Has anyone got any easy methods of doing this?
Do I need to create my own hosted build agent or is there another way?
If JustMocks required to be "installed" then you will need to either create your own agent or change your tool. To be honest I don't recommend using a framework that needs installed. I would ask Telerik about options.
JustMock should provide a Nuget package that you can reference so that you don't need to install anything on the build server.
JustMock provides installation-free elevated mocking specially for shared build servers. Depending on what build system you use, there are integration points for MSBuild, TFS Build and through the environment.

Mule 3.5 Batch module. Enterprise or community version?

I recently downloaded Mule 3.5 after having a look at the new great features coming with the Batch module. After several days developing a flow that uses Batches using Anypoint Studio, when I wanted to deploy my app to my Mule 3.5 Community standalone server I got a disagreeable surprise: neither the batch xsd was contained in the Community runtime nor the batch module jar was in the lib/module folder.
Does that mean that the Batch module belongs to the Enterprise edition? Because I cannot see any mention to that "small detail" neither in the official documentation of the module http://www.mulesoft.org/documentation..., nor in the feature comparison page http://www.mulesoft.com/platform/soa/mule-esb-enterprise
At the same time, the Community runtime for Anypoint Studio comes with the batch module, as it can be seen in the corresponding plugin folder of eclipse.
Is it a marketing strategy to force users to switch to Enterprise edition? Maybe an error in the documentation? Perhaps an error of packaging of the Community runtime?
Yes, Batch Module is an Enterprise feature. And you are right that is not properly documented. For more detail on the content of each version you can take a look at the release notes, enterprise features are listed linking an EE jira key while community ones are linking a CE jira key.

Anybody out there using MsBuild to do Installs?

I've noticed projects such as Msbuild Extension Pack and MsBuild Community Tasks give msbuild the power to install assemblies, sql, and setup IIS. These features seem to be oriented to doing installs and not builds.
So I was wondering how many people out there are using msbuild, perhaps in conjunction with Cruise Control.Net to do installs on staging environments?
I use MsBuild to build, and part of the build process runs Wix to create an installer(MSI) which is used to deploy to production.
I wrote up a little sample of templating configurations for different target environments with msbuild: http://blog.privosoft.com/2010/10/msbuild-environment-sandboxing.html
We use CC.NET & MSBuild to build and then also to publish to our dev and stage environments, however we do not have the push live on CruiseControl.NET, we run that MSBuild by hand. We just thought it would be way to tempting with a button to publish live ;) It took probably 2 or 3 revisions to get our MSBuild set up right. But now everything is in one file, and everything is based on Targets and Properties to do all the work. About 6 months ago, was what should be the last update and that was a multi-server push so we are ready for scaling up. We can now push any combination of parts to any combination of servers. So if we want 5 database servers, 3 contenet servers, and 2 web servers we have that ability. No need to use anything else. MSBuild can do it.
I created a deployment system where a central coordinator can:
- identify the right target server for a given component (e.g Windows service goes to a given server, web services go to another, etc.)
- perform a PsExec of a deployment MSBuild script on the target server
- the deployment MSBuild script is responsible for:
a) downloading the right component package (in my case a .zip)
b) backing up previous versions of the component
c) extracting the package to the right place
d) tailoring the installation steps to the type of component to deploy (e.g. needs to perform an Exec task of installutil.exe on a Windows service )
e) logging the result of the deployment
This system is built using a mix of:
- core MSBuild tasks
- [Tigris MSBuild community tasks][1]
- [MS SDC tasks][2]
- and custom tasks
The system allows us to perform consistent deployment of complex apps across partitioned environments (e.g. DEV, QA, UAT, etc) made of virtual servers.
I use MSBuild to build a fairly large client/server application. I use InstallShield 2008 to create a separate client and server install set.
By adding a custom target into the build process you can combine the creation of the installers into the build.
I would recommend that you create and test the build and the installer separately, before attempting to integrate the two.
I know this is an old question... but...
I am currently using MSBuild with MSBuild Extension Pack (http://msbuildextensionpack.codeplex.com) to do my entire deployment. The database portion is handled with the VS database command-line tool (vsdbcmd.exe - http://msdn.microsoft.com/en-us/library/dd193283.aspx). That Extension Pack is pretty amazing, and is letting me build web sites, app pools, Windows services, update config, and much more.
I've also put Team City agents on the test servers, so I can deploy as part of a build chain (introduced in version 7 of Team City). And running my deploy MSBuild script is super easy from Team City.
I used to use MSBuild, now I'm using PowerShell. MSBuild is a build language. It is painful to script in. There is a lot I wanted to do in it that were difficult and sometimes impossible.
Over the past year, I've created an PowerShell module somewhat equivalent to MSBuild Extension Pack called Carbon.
I strongly, strongly encourage everyone out there to learn and use PowerShell.