Download resources from SAP Cloud for your CI job

When running a CI job you may need to use some SAP tools. For instance, the MTA builder or Neo tools. Many CI servers include integration to build tools or plugins are provided by the community or vender. Jenkins offers plugins for Maven, Ant or Node that let you easily integrate these into a CI jobs. If you have a CI job for SAP, it is your task to make the necessary tools available. There are not many plugins for SAP available for Jenkins.

Some tools you may need can be found on SAP’s tool site. For instance, the MTA builder. A simple JAR file that is available for download and needed in case you are working with MTA apps.

Before you can download the JAR file, you need to agree to the EUL.

This means that you cannot download the JAR using cli:

wget https://tools.hana.ondemand.com/additional/mta_archive_builder-1.1.0.jar

Solution

Running the above wget command will not download the tool, but a web site. Some may know that this is very close to how Oracle protected it’s Java download. And the “solution” here is the same: send the right cookie via wget.

wget --header "Cookie: eula_3_1_agreed=tools.hana.ondemand.com/developer-license-3_1.txt" https://tools.hana.ondemand.com/additional/mta_archive_builder-1.1.0.jar

Works for downloading other tools from the download page like the Neo SDK too:

wget --header "Cookie: eula_3_1_agreed=tools.hana.ondemand.com/developer-license-3_1.txt" https://tools.hana.ondemand.com/sdk/neo-javaee6-wp-sdk-2.137.0.1.zip

Let’s hope SAP provides some Jenkins plugins that take care of downloading these automatically.

Update WordPress and W3 total cache plugin error

WordPress is easy to update … if everything works. I updated my WordPress version many times without problems, patches are installed automatically. Only minor versions I do install manually. Last time I updated, an error happened. Luckily, not for my users, the public site was up and running. My admin site (wp-admin) was broken. To be more precise: the update was not completed. While loading the update page to trigger the DB update, I got an error message: not found.

Looking at the web server log, I could see that something went wrong with a PHP call:

PHP Fatal error:  Call to undefined function wp_cache_get() in /var/…/wp-includes/option.php on line 1123

I use a plugin called W3 total cache for speeding up the loading of my site. My idea was to uninstall this plugin and see if it works again. Problem: how to uninstall a WordPress plugin without being able to log in? During running an update? Of course, if you do not try, you do not learn. First step was to do a backup (yeah …). Next step was: delete the plugin manually. This I did by deleting/moving the W3tc related files.

Directory
  • /wp-content/plugins/w3-total-cache
Files
  • advanced-cache.php
  • db.php

After this I accessed /wp-admin again and could complete the WordPress upgrade of the database. The W3-total-cache plugin was not installed anymore, so I reinstalled it.

Why reinstalling a broken plugin? The plugin is (as of the writing of this text) not compatible with my WordPress version. Therefore, I only install it to remove the plugin. I did so manually and to keep my WordPress installation not a total mess, I want to delete the plugin the official way. In the dashboard > Plugins > Installed Plugins the plugin is listed. Instead of activating it, I am going to delete it.

Result:

Next step is to install another cache plugin.