The operator is built using Apache Maven. The build machine will also need to have Docker installed.
To build the operator, issue the following command in the project directory:
$ mvn clean install
This will compile the source files, build JAR files containing the compiled classes and libraries needed to run the operator, and will also execute all of the unit tests.
Contributions must conform to coding and formatting standards.
These commands should be executed in the project root directory:
$ ./buildAndPushImage.sh -t weblogic-kubernetes-operator:some-tag
<version> with the version of the project found in the
pom.xml file in the project root directory.
We recommend that you use a tag other than
latest, to make it easy to distinguish your image. In the previous example, the tag could be the GitHub ID of the developer.
The operator can be run from an IDE, which is useful for debugging. To do so, the machine running the IDE must be configured with a Kubernetes configuration file in
~/.kube/config or in a location pointed to by the
KUBECONFIG environment variable.
Configure the IDE to run the class
You may need to create a directory called
/operator on your machine. Please be aware that the operator code is targeted to Linux, and although it will run fine on macOS, it will probably not run on other operating systems. If you develop on another operating system, you should deploy the operator to a Kubernetes cluster and use remote debugging instead.
If you’re not running Kubernetes on your development machine, you’ll need to make the container image available to a registry visible to your Kubernetes cluster. Either
docker push the image to a private registry or upload your image to a machine running Docker and Kubernetes as follows:
On your build machine:
$ docker save weblogic-kubernetes-operator:some-tag > operator.tar
$ scp operator.tar YOUR_USER@YOUR_SERVER:/some/path/operator.tar
On the Kubernetes server:
$ docker load < /some/path/operator.tar
Use the Helm charts to install the operator.
If the operator’s behavior or pod log is insufficient to diagnose and resolve failures, then you can connect a Java debugger to the operator using the debugging options.