Go to file
Misagh Moayyed d7a097069d
Update gradle.properties
2020-02-29 11:56:15 +03:30
.github Create FUNDING.yml 2019-07-13 23:09:06 +04:30
etc/cas cleanup for building dockerfile on windows 2019-07-27 23:09:15 -04:00
gradle fix jib issue with registry options 2019-10-20 13:18:40 +04:00
src/main/jib/docker move commands to gradle 2018-11-27 15:37:10 -07:00
.gitattributes cleanup for building dockerfile on windows 2019-07-27 23:09:15 -04:00
.gitignore working on overlay 2018-07-30 17:05:44 +04:30
.mergify.yml Updated: code cleanup and styling; fixes test cases 2019-10-05 11:04:33 +03:30
.travis.yml updated 2019-08-06 20:43:54 +04:30
Dockerfile add docker compose file 2019-05-20 09:24:41 -07:00
LICENSE.txt Added Apache v2 license 2014-06-27 12:31:38 -04:00
README.md updated 2019-08-06 20:19:43 +04:30
build.gradle fix jib issue with registry options 2019-10-20 13:18:40 +04:00
docker-build.sh updated 2019-08-20 11:49:36 +04:30
docker-compose.yml add docker compose file 2019-05-20 09:24:41 -07:00
docker-push.sh updated 2019-05-13 00:37:14 -07:00
docker-run.sh updated 2019-05-13 00:37:14 -07:00
gradle.properties Update gradle.properties 2020-02-29 11:56:15 +03:30
gradlew upgrade gradle 2019-09-02 10:07:39 +04:30
gradlew.bat upgrade gradle 2019-09-02 10:07:39 +04:30
settings.gradle work on native docker imaging 2018-11-09 16:46:54 +03:30

README.md

CAS Overlay Template Build Status

Generic CAS WAR overlay to exercise the latest versions of CAS. This overlay could be freely used as a starting template for local CAS war overlays.

Versions

  • CAS 6.1.x
  • JDK 11

Overview

To build the project, use:

# Use --refresh-dependencies to force-update SNAPSHOT versions
./gradlew[.bat] clean build

To see what commands are available to the build script, run:

./gradlew[.bat] tasks

To launch into the CAS command-line shell:

./gradlew[.bat] downloadShell runShell

To fetch and overlay a CAS resource or view, use:

./gradlew[.bat] getResource -PresourceName=[resource-name]

To list all available CAS views and templates:

./gradlew[.bat] listTemplateViews

To unzip and explode the CAS web application file and the internal resources jar:

./gradlew[.bat] explodeWar

Configuration

  • The etc directory contains the configuration files and directories that need to be copied to /etc/cas/config.
./gradlew[.bat] copyCasConfiguration
  • The specifics of the build are controlled using the gradle.properties file.

Adding Modules

CAS modules may be specified under the dependencies block of the Gradle build script:

dependencies {
    compile "org.apereo.cas:cas-server-some-module:${project.casVersion}"
    ...
}

To collect the list of all project modules and dependencies:

./gradlew[.bat] allDependencies

Clear Gradle Cache

If you need to, on Linux/Unix systems, you can delete all the existing artifacts (artifacts and metadata) Gradle has downloaded using:

# Only do this when absolutely necessary
rm -rf $HOME/.gradle/caches/

Same strategy applies to Windows too, provided you switch $HOME to its equivalent in the above command.

Deployment

  • Create a keystore file thekeystore under /etc/cas. Use the password changeit for both the keystore and the key/certificate entries. This can either be done using the JDK's keytool utility or via the following command:
./gradlew[.bat] createKeystore
  • Ensure the keystore is loaded up with keys and certificates of the server.

On a successful deployment via the following methods, CAS will be available at:

  • https://cas.server.name:8443/cas

Executable WAR

Run the CAS web application as an executable WAR:

./gradlew[.bat] run

Debug the CAS web application as an executable WAR:

./gradlew[.bat] debug

Run the CAS web application as a standalone executable WAR:

./gradlew[.bat] clean executable

External

Deploy the binary web application file cas.war after a successful build to a servlet container of choice.

Docker

The following strategies outline how to build and deploy CAS Docker images.

Jib

The overlay embraces the Jib Gradle Plugin to provide easy-to-use out-of-the-box tooling for building CAS docker images. Jib is an open-source Java containerizer from Google that lets Java developers build containers using the tools they know. It is a container image builder that handles all the steps of packaging your application into a container image. It does not require you to write a Dockerfile or have Docker installed, and it is directly integrated into the overlay.

./gradlew build jibDockerBuild

Dockerfile

You can also use the native Docker tooling and the provided Dockerfile to build and run CAS.

chmod +x *.sh
./docker-build.sh
./docker-run.sh