Skip to main content
Version: 0.5.0

JENKINS

Overview

JENKINS is a Java-based program that can be used for continuous integration, continuous delivery and other automation tasks. It supports hundreds of plugins and can run on various operating systems and platforms. This appliance deploys a Jenkins Service along with any necessary configuration in your site out of the box to start deploying Trial Networks.

Download

The latest version of the Jenkins appliance can be downloaded from the 6G-SANDBOX official Marketplace

Requirements

  • OpenNebula version: >= 6.4
  • Minimum RAM: 4GiB
  • Minimum vCPU: 2
  • Minimum storage: 10GiB

Features and usage

The appliance comes with Jenkins completely preinstalled, along with:

  • All necessary plugins to effectively run Trial Networks in your site.
  • Pipelines TN_DEPLOY and TN_DESTROY already loaded.
  • Jenkins credentials loaded at boot time according to the contextualization variables sent as input.
warning

You might need to manually access the VM to gather some files generated at bootstrap from /var/lib/jenkins/consult_me/ in order to proceed with the installation of a Site:

  • jenkins_tnlcm_token: The first time the VM boots, a Jenkins user gets created using contextualization variables JENKINS_USERNAME and JENKINS_PASSWORD. Following this creation, a token is generated to connect to the Jenkins API. This token is needed when deploying the TNLCM
  • id_ed25519.pub: The first time the VM boots, a pair of SSH keys gets generated for Linux user jenkins. In order to access the Trial Networks VMs deployed by Jenkins, you must set OPENNEBULA_USERNAME public key from the OpenNebula Frontend. Use this generated key and place it there.

Contextualization

Contextualization parameters provided in the Virtual Machine template (CONTEXT section) control the initial VM configuration. Except for the common set of parameters supported by every appliance on the OpenNebula Marketplace, there are few specific to this particular jenkins appliance:

  • GNB_* and UE_* parameters replace the variables of their respective config file at /etc/ueransim/.
  • RUN_GNB and RUN_UE determine if their respective service should be started at boot time.

The parameters should be provided in the CONTEXT section of the Virtual Machine template, read the OpenNebula Management and Operations Guide for more details.

ParameterDescriptionDefault Value
JENKINS_USERNAMEThe username for the Jenkins admin useradmin
JENKINS_PASSWORDThe password for the Jenkins admin useradmin
ANSIBLE_VAULT_PASSWORDPassword to encrypt and decrypt the 6G-Sandbox-Sites repository files for your site using Ansible Vault<undefined>
OPENNEBULA_ENDPOINTThe URL of your OpenNebula XML-RPC Endpoint API (for example, 'http://example.com:2633/RPC2')<undefined>
OPENNEBULA_FLOW_ENDPOINTThe URL of your OneFlow HTTP Endpoint API (for example, 'http://example.com:2474')<undefined>
OPENNEBULA_USERNAMEThe OpenNebula username used to deploy each component<undefined>
OPENNEBULA_PASSWORDThe OpenNebula password matching OPENNEBULA_USERNAME<undefined>
OPENNEBULA_INSECUREAllow insecure connexion into the OpenNebula XML-RPC Endpoint API (skip TLS verification)true
AWS_ACCESS_KEY_IDS3 Storage access key. Same as used in the MinIO instance<undefined>
AWS_SECRET_ACCESS_KEYS3 Storage secret key. Same as used in the MinIO instance<undefined>