Basic cluster CI/CD

Enonic version: 7.13.3
OS: Linux

Dear Enonic Team,
Can you please tell me how is it correctly send updates (.*jar files) to kubernetes cluster?

I mean we have basic cluster - Using the operator - Enonic Developer Portal

Now we have a task to adjust CI/CD to be able to update release builds.

The solution I see:

  1. Build from source code - enonic project build
  2. Put .*jar into the nexus
  3. Update .*jar on one of the cluster nodes from nexus and install it using - enonic app install --file /home/enonic/*.jar -a login:password
  4. Ready - we’ve successfully updated build

Is it correct or may be there is a best practice how to do it?

Hi Niki.

This is one way of doing it, which means you will need to have access to the management API :4848 on one (or more) of the K8S pods.

NB! Remember, the Operator is not yet in v1.0 - but we are soon there.

The alternative way, which is what we use in our new self service cloud, is via custom resources, specifically xp7app: Using the operator - Enonic Developer Portal

This way, you can have the operator install the applications for you instead :-).

1 Like

Hello Thomas,
thanks for the response and hints.
I’ll try to explain this solution to my DevOps Engineer :slight_smile:

Hello Thomas,

# Install my app
apiVersion: enonic.cloud/v1
kind: Xp7App
metadata:
  name: my-app-name
  namespace: my-namespace
spec:
  url: ????

Can you please explain, what should I put inside url?
If I want to move my app build (.jar) to apps (deploy folder).

Or can I attach gitlab repo to allow kubernetes build it from gitlab source?

You should provide the URL to your app file (the jar) which will be downloaded and installed in your XP instance.

Оk, thank you very much. I’ll provide url to jar file.