Spring Cloud Dataflow Server Lock the Jar Locally - spring-cloud-dataflow

I am designing the batch workflow with SCDF on Windows OS. When I test the code on my local machine, I deploy and run the Spring batch job jar locally by registering the jar using file URL. The problem is that whenever I want to rebuild my batch job jar, I cannot delete the jar that has already registered on the SCDF server as the OS warned me that the jar is being used by a Java program (even when the batch job is not running at that time).
It is quite inconvenient for developers to shut down the SCDF server every time when they want to rebuild the jar and replace the existing jar. Is there any workaround, or am I missing any configuration?
Thanks in advance for the advice.

I see this is an inconvenience but unfortunately this is expected when using file:// based resources. One alternative is to install your app as maven artifact in your local and refer them as maven:// based resources.

Related

What is the difference between running jenkins with .war file and using installer?

I would like to know what are the difference between using Jenkins on terminal with .war file vs using installer. And which is better?
Always use the installer if you can. My main experience is with Linux but I’m pretty sure this applies to Windows as well:
The installer will automatically pull in any dependencies that Jenkins needs in order to run
You can easily upgrade Jenkins and its dependencies by installing a new version of the package
It will set up Jenkins as a service that will restart automatically if the server reboots
It provides a script to set parameters such as the JVM memory allocation and the port number that Jenkins runs on - if you use the JAR file you’d have to write a script yourself.

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'.

Jenkins Upgrade: What configuration should I be concerned about in the Jenkins WAR directory?

I am trying to automate Jenkins Upgrades so they do not have to be hands on. Some documentation recommends creating a batch file with instructions on the machine running Jenkins, and create a scheduled task to run the batch job. The site I found with a batch file is here, where it says:
It does delete the complete exploded war file from the deployment location, so be careful if you save any configuration files to that directory.
What configuration file would I have to worry about? No one I've talked to at my company knows of any configuration files held there, and they seem to think we have a pretty default setup, so what could I look for manually that would tell me whether or not I should be concerned?
We are running Jenkins on a Windows virtual box, I believe with Jenkins running as a service.
Alternatively, if the above method is not the easiest or best way to automate Jenkins upgrades, does anyone know a better way?
You can ignore this warning. I've never seen anything storing configuration files in that directory. It is intended to be used as a cache only.
If unsure, check your existing war directory for any files with timestamps newer than the installation time.
Here, on a busy Jenkins master, no files have been added or modified there over a period of several months (since initial war file explosion at installation time).

Application starting issue websphere application server 8.5 after deployment Jenkins

I am using Jenkins websphere deployer plugin to deploy application to IBM WAS 8.5.5.
The ear deployment is successful but the start up is not successful though Jenkins shows success message.
I assume the ear (around 90MB) takes time for expansion in the remote server, and Jenkins success message is before the complete expansion. Is there a way to delay the process of startup after deployment is done.
Can anyone suggest?
You cannot work around this issue since it requires a modification to the websphere deployer plugin. There is a known synchronization issue for large EAR files. I believe there was a pull request that fixes this issue and was merged into the codebase for v1.3 of the plugin. This version is not yet released but can be viewed on github if you wish to compile and try it out for yourself.
You will need to use maven and to manual imports into your .m2 repository to compile and test this code in jenkins.
Reference: https://github.com/jenkinsci/websphere-deployer-plugin

Automatic deployment from development server to Remote server

I'm doing an automatic deployment to move binaries,sql scripts,properties files from development server to staging server. Note, my case property and xsd files were present in the Hard Drive on the computer instead of Tomcat web server.
Jenkins has the ability to deploy applications on tomcat with the help of SVN.
How Jenkins will execute sql scripts and apply property files changes on remote server?
You have two major options:
Use the Execute shell or Execute Windows batch command build steps
use a java based tool like liquibase, ant tasks, maven plugin or many more.

Resources