You are not logged in. Click here to log in.

codebeamer Application Lifecycle Management (ALM)

Search In Project

Search inClear

Tags:  not added yet

Test upgrade in docker with docker-compose

Intland Software does not take any responsibility and is not liable for any damage caused through use of this image, be it indirect, special, incidental or consequential damages (including but not limited to damages for loss of business, loss of profits, interruption or the like).

It is highly recommended to create daily backups and keep them for several days. For more information on backups, see: How to create a backup.

The following docker setup is only for evaluation purposes. Intland Software does not recommend the usage of dockerized databases.
This page requires advanced docker and docker-compose know-how.
Tomcat is unresponsive during the codebeamer upgrade. Tomcat and the container will only be available once the upgrade is completed successfully.

Create volumes

docker volume create codebeamer-db-data && \
docker volume create codebeamer-app-repository-docs && \
docker volume create codebeamer-app-repository-search && \
docker volume create codebeamer-app-logs

Example upgrade from 9.3.0 to 9.4.0

For a different version, modify the tag in intland/codebeamer:<version>

Docker-compose file

Create the docker-compose.yml file with the following content:

version: '2.1'

services:
  codebeamer-db:
    image: intland/mysql:5.7.21
    environment:
      - MYSQL_USER=user
      - MYSQL_PASSWORD=pass
      - MYSQL_DATABASE=codebeamer
      - "MYSQL_MAX_ALLOWED_PACKET=${MYSQL_MAX_ALLOWED_PACKET:-1024M}"
      - "MYSQL_INNODB_BUFFER_POOL_SIZE=${MYSQL_INNODB_BUFFER_POOL_SIZE:-1G}"
      - "MYSQL_INNODB_LOG_FILE_SIZE=${MYSQL_INNODB_LOG_FILE_SIZE:-256M}"
      - "MYSQL_INNODB_LOG_BUFFER_SIZE=${MYSQL_INNODB_LOG_BUFFER_SIZE:-256M}"
    volumes:
      - codebeamer-db-data:/var/lib/mysql/data

  codebeamer-app:
    image: intland/codebeamer-git:9.3.0
    ports:
      - "8080:8080"
    environment:
      - DEBUG=false
      - TZ=Europe/Berlin
      - WAIT_HOSTS=container-mysql:3306
      - WAIT_HOSTS_TIMEOUT=120
      - "CB_database_JDBC_Username=user"
      - "CB_database_JDBC_Password=pass"
      - "CB_database_JDBC_Driver=com.mysql.jdbc.Driver"
      - "CB_database_JDBC_ConnectionURL=jdbc:mysql://container-mysql:3306/codebeamer?autoReconnect=true&zeroDateTimeBehavior=convertToNull&emulateLocators=true&characterEncoding=UTF-8&useSSL=false"
    volumes:
      - codebeamer-app-repository-docs:/home/appuser/codebeamer/repository/docs
      - codebeamer-app-repository-search:/home/appuser/codebeamer/repository/search
      - codebeamer-app-logs:/home/appuser/codebeamer/logs
    links:
      - codebeamer-db:container-mysql

volumes:
  codebeamer-db-data:
    name: codebeamer-db-data
    external: true
  codebeamer-app-repository-docs:
    name: codebeamer-app-repository-docs
    external: true
  codebeamer-app-repository-search:
    name: codebeamer-app-repository-search
    external: true
  codebeamer-app-logs:
    name: codebeamer-app-logs
    external: true

Go to the directory containing the previously created docker-compose.yml file, and run the following command:

docker-compose up

The logs will be visible.

Alternatively, it can be started in the background with the following command:

docker-compose up -d

Run codebeamer at http://localhost:8080, and perform the following steps:

  • Create a new project
  • Create a new git repository
  • Upload a document

Stop codebeamer 9.3.0

In case codebeamer was started without the -d command, press ctrl +c.

In case codebeamer was started with the -d command, run the following line in the directory containing the docker-compose.yml:

docker-compose down

Start codebeamer 9.4.0

Change the version in the below line of the docker-compose.yml file:

image: intland/codebeamer-git:9.3.0 --> image: intland/codebeamer:9.4.0

Then, run the following command in the directory containing the docker-compose.yml:

docker-compose up

The logs will be visible.

Alternatively, it can be started in in the background with the following command:

docker-compose up -d

The update is successful if the below criteria are met:

  • No exceptions in the log
  • Previously created project, repository found and works in the new container (9.4.0 in the example)
  • Uploaded document is available in the new container (9.4.0 in the example)