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)