Update README.md
This commit is contained in:
parent
f00294b0ad
commit
222a136375
|
@ -1,146 +1 @@
|
||||||
CAS Overlay Template [![Build Status](https://travis-ci.org/apereo/cas-overlay-template.svg?branch=master)](https://travis-ci.org/apereo/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.1.x`
|
|
||||||
- JDK `11`
|
|
||||||
|
|
||||||
# Overview
|
|
||||||
|
|
||||||
To build the project, use:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Use --refresh-dependencies to force-update SNAPSHOT versions
|
|
||||||
./gradlew[.bat] clean build
|
|
||||||
```
|
|
||||||
|
|
||||||
To see what commands are available to the build script, run:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./gradlew[.bat] tasks
|
|
||||||
```
|
|
||||||
|
|
||||||
To launch into the CAS command-line shell:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./gradlew[.bat] downloadShell runShell
|
|
||||||
```
|
|
||||||
|
|
||||||
To fetch and overlay a CAS resource or view, use:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./gradlew[.bat] getResource -PresourceName=[resource-name]
|
|
||||||
```
|
|
||||||
|
|
||||||
To list all available CAS views and templates:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./gradlew[.bat] listTemplateViews
|
|
||||||
```
|
|
||||||
|
|
||||||
To unzip and explode the CAS web application file and the internal resources jar:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./gradlew[.bat] explodeWar
|
|
||||||
```
|
|
||||||
|
|
||||||
# Configuration
|
|
||||||
|
|
||||||
- The `etc` directory contains the configuration files and directories that need to be copied to `/etc/cas/config`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./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](build.gradle):
|
|
||||||
|
|
||||||
```gradle
|
|
||||||
dependencies {
|
|
||||||
compile "org.apereo.cas:cas-server-some-module:${project.casVersion}"
|
|
||||||
...
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
To collect the list of all project modules and dependencies:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./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:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 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:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./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:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./gradlew[.bat] run
|
|
||||||
```
|
|
||||||
|
|
||||||
Debug the CAS web application as an executable WAR:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./gradlew[.bat] debug
|
|
||||||
```
|
|
||||||
|
|
||||||
Run the CAS web application as a *standalone* executable WAR:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./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](https://github.com/GoogleContainerTools/jib) 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.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./gradlew build jibDockerBuild
|
|
||||||
```
|
|
||||||
|
|
||||||
### Dockerfile
|
|
||||||
|
|
||||||
You can also use the native Docker tooling and the provided `Dockerfile` to build and run CAS.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
chmod +x *.sh
|
|
||||||
./docker-build.sh
|
|
||||||
./docker-run.sh
|
|
||||||
```
|
|
||||||
|
|
Loading…
Reference in New Issue