Skip to content

A collection of scripts that attempt to make Liferay deployment faster.

Notifications You must be signed in to change notification settings

amosfong/liferay-faster-deploy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Installation

Clone this repository.

git clone [email protected]:holatuwol/liferay-faster-deploy.git

Make sure that you've got all the prerequisite binary tools and Python packages:

Then, add this section to .bash_aliases (or the equivalent on whichever shell you're using) which calls the script, making sure to change /path/to/clone/location to wherever you cloned the repository:

MCD_RD_CLONE_PATH=/path/to/clone/location

gw() {
        ${MCD_RD_CLONE_PATH}/gw $@
}

rd() {
        # Please reset the below to point to the correct server locations.
        # If something does not apply, set the value to blank.

        LIFERAY_FILES_MIRROR='http://mirrors/files.liferay.com' \
                LIFERAY_RELEASES_MIRROR='http://mirrors/releases.liferay.com' \
                TAG_ARCHIVE_MIRROR='http://cloud-10-0-30-27/builds/fixpacks' \
                BRANCH_ARCHIVE_MIRROR='http://cloud-10-50-0-165/builds/branches' \
                        ${MCD_RD_CLONE_PATH}/redeploy $@
}

Robust Gradle Wrapper

When compiling from source, gradlew will fail for seemingly arbitrary reasons. After debugging the build system, you will ultimately discover that it's often related to a missing portal snapshot or the presence of a settings.gradle folder created for when compiling a subrepository.

This script improves the consistency of gradlew by automatically looking for these and fixing them. It also provides the same functionality as other gradlew wrappers, such as gdub, by searching for a gradlew binary somewhere in the current folder or in ancestor folders.

Building from a Daily Build

Note: Unlike the documented scripts in the subfolders, this script is currently experimental! It also only works if you are inside the Liferay LAX office!

Running ant all can be a time consuming ordeal on some operating systems. What if you could use a binary from some time earlier in the day (so you have at least some sense that things are up to date) and then only deploy the changes that you made without having to run ant all?

Use whatever shorthand you think makes sense, with the example here being rd. Navigate to the root of the portal repository and invoke the function you created.

cd /path/to/portal/source
rd

This script currently downloads the latest daily build from a local mirror and relies on there being a high speed connection between your local computer and that daily build host machine (so don't do this over WiFi!). Update the mirror to be whatever internal server is available in your local office. The plan is for these builds to be automatically distributed via files.liferay.com (because many Liferay offices have a mirror), but it's also possible to create the build server via the provided scripts.

Essentially, the script uses the build as a base, attempts to compute the changed modules and folders, runs install-portal-snapshots on any root level dependencies (in the case of default dependencies), and then asks Gradle to mass deploy the changed modules.

About

A collection of scripts that attempt to make Liferay deployment faster.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 38.3%
  • Jupyter Notebook 26.8%
  • Python 17.1%
  • JavaScript 14.6%
  • HTML 2.7%
  • CSS 0.4%
  • Java 0.1%