1915fbccd6
Change-Id: Ie7d52370dd554b110bbfa041b943fcf246373b94 Reviewed-on: https://cl.tvl.fyi/c/depot/+/933 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> |
||
---|---|---|
.. | ||
.github | ||
etc/cas | ||
gradle | ||
src/main | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
.mergify.yml | ||
.travis.yml | ||
build.gradle | ||
docker-build.sh | ||
docker-compose.yml | ||
docker-push.sh | ||
docker-run.sh | ||
Dockerfile | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
LICENSE.txt | ||
lombok.config | ||
README.md | ||
settings.gradle |
CAS Overlay Template
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.2.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 passwordchangeit
for both the keystore and the key/certificate entries. This can either be done using the JDK'skeytool
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