Migrating WebSphere 9 ant tasks to WebSphere liberty - ant

I am trying to migrate j2ee application from WebSphere to liberty.
The build script uses WebSphere specific ant tasks (com.ibm.websphere.ant.tasks.WsEjbDeploy) in the ant build scripts
Is there any similar task available for liberty ? or
Can the code build using the above task be deployed and will work on liberty?

EJBDeploy and the associated ant task have been replaced by a Just-In-Time (JIT) deployment feature. This capability was first introduced in WebSphere traditional version 7.0 for all EJB 3 (and later) modules.
Liberty provides JIT deployment for all EJB module levels (EJB 1.x through EJB 3.2).
WebSphere traditional now also supports JIT deployment of all EJB module versions, as of versions 8.5.5.16 and 9.0.5.0, except for modules containing EJB 1.x or 2.x Entity beans. Entity beans still require the use of EJBDeploy. If your application contains Entity beans, they will need to be converted to another form of persistence, such as JPA, when migrating to Liberty.
When migrating an application to Liberty that used EJBDeploy on WebSphere traditional, the non-deployed version of the application should be used. Do not migrate the artifacts generated by EJBDeploy to Liberty. The JIT deployment capability of Liberty will dynamically generate the artifacts in memory as needed. It is possible the EJBDeploy generated artifacts may interfere with proper behavior in Liberty.
For more information about JIT deployment, see the following information in the knowledge center:
https://www.ibm.com/support/knowledgecenter/SSEQTP_9.0.5/com.ibm.websphere.base.doc/ae/cejb_deployejbfp.html
If the application contains remote EJB interfaces and a thin client will be used, then Stub classes will need to be generated for packaging with the thin client. This would have been done by EJBDeploy previously, but now may be accomplished by using RMIC.
More information about deploying remote interfaces to Liberty may be found from a link provided here :
https://www.ibm.com/support/knowledgecenter/SSEQTP_liberty/com.ibm.websphere.wlp.doc/ae/twlp_ejb_dev.html

Related

Dependency Management Within same System

We have a .NET CMS system which is typically used to host 1 or more sites. Each site/project may have their own dependencies so we are trying to centrally manage dependency conflicts but they both must sit on the common CMS infrastructure.
Take for example this dependency NewtonSoft.Json - Where the underlying CMS environment is bound to version 1.0.
Site A refers NewtonSoft.Json V1.0 (Great!), however Site B has decided to upgrade and use v2.0!
We're looking at using our DevOps system (Jenkins) to compare the package.json files and fail any builds if there are differences in the dependency versions. NOTE SiteA and SiteB or both different Visual Studio solutions and will run separate pipelines for release.
Is there a better way?

Once ant build is converted to maven build nested folders are created & its nt deployed properly thrugh uDeploy. Guess is environment properties issue

Looking for help on the issue that we are facing with the deployment of the war that is generated through maven build. Unable to install or update the application. According to logs the previous application server is not even being stopped though environment properties are being set in the ‘application-config.properties’ file during the deployment process to stop the previous server and start a new one.
If you need more details, please contact us.
Application config specifications:
Combination of struts(version 2.1.8) and spring(version 2.5.6) framework.
Java 1.8 version with web sphere version 6.1 and dynamic web module version 3.1
Maven-compiler-plugin version 3.7.0 and maven-war-plugin 3.2.1.

Build/Publish .NET Core 3.x application with TFS 2018 Update 3.2

I have an application that uses .NET Core 3.1 but in .NET Core Build and Publish tasks, the dropdown menu offers only 'til 2.x version.
How am I supposed to use them or what workaround instead?
Simple CLI?
Thanks in advance
#Patrick
.NET Core Task is this right?
But how should be that different compared to Restore/Build/Publish that are aldready set up in .NET Core pipeline?
If that so, I guess I just need to set the command with my custom publish value:
dotnet publish myPath -c release -f netcoreapp3.0 --self-contained true -r win-x64
Am I right?
That's not stand for .NET Core Version. It's our task version in Azure DevOps build Pipeline.
Tasks are versioned, and you must specify the major version of the
task used in your pipeline. This can help to prevent issues when new
versions of a task are released.
Each task in a pipeline has a Version selector to let you choose
the version you want.
Source Link: Task versions
According to your TFS tag, seems you are using private agent. You could choose to pre-install your .NET Core related environment/SDK in the agent manually.
If you want to do this during the pipeline, you should use Use .NET Core task
Use this task in a build or release pipeline to acquire a specific
version of .NET Core from the Internet or the tools cache and add it
to the PATH.
Not sure which TFS version you are using, which may do not contain above task. You could choose to manually pre-install .NET Core related on the agent or download source of task code and package upload to TFS server or use 3-rd party extension instead.
That's the version of the task, not the version of .NET Core.

Docker to deploy java web application with frequent configuration changes in wildfly server

I am new to DevOps. Recently I practiced the Docker examples. I have one usecase in my current project. Here it is
This is java project. It contains one war project that depends on jar project. Build tool is maven.
We are using Jboss Wildfly server.
DataBase is mysql 5.7.
We are using testng framework for the unit test cases.
sonarqube for code analysis. Selenium for testing.
So in any linux box the infrastructure we need is java8, wildfly server and mysql 5.7.
Consider we have 2 boxes. one is dev and another is test. Developer works on his local windows machine.
Sometimes we need some configurations required in jboss folder. Suppose we changed one xml in wildfly configuration folder in this release. How to communicate same to dev and test boxes as local machine. Another case is for dev box we need different configuration in xml and for test box it is different from dev box(SSL information in standalone.xml and user properties). How to handle this?
I would suggest to run all required stack (wildfly and mysql) via docker-compose. Also you can extend official wildfly image to provide your custom configuration so you should build 2 different images, one with tag 'dev' and second with tag 'test'.

Create Websphere deployment descriptior with ANT

I have created an EAR file for deployment in JBoss application server with ANT 1.8. Now I have a task to create the EAR file to be deployed in Websphere server. When I deployed the previously created ear file, it failed...when I investigated, I found that websphere default deployment descriptor: ibm-web-bnd.xml, ibm-web-ext.xml are not available in my EAR.
I would like to know, If someone do not have RAD/WSAD tools, how can they generate the EAR file compatible for Websphere 7 AS?
Thanks in advance,
You can use the Rational Application Developer for Websphere Software build utility. The build utility is an optional, stand-alone utility and is separately installed. Take a look at the following: http://publib.boulder.ibm.com/infocenter/radhelp/v7r5/index.jsp?topic=/com.ibm.rad.install.doc/topics/c_install_build_utility_readme.html

Resources