- cs-connect is a Mattermost-based collaborative platform that enables the object-oriented collaboration mechanism with support for the hyperlinking system.
- cs-data-provider is a backend that provides data through REST APIs.
- Build the packages by following the steps for each project.
- Execute the command:
./start.sh
to clean the compose and run Mattermost, CS-CONNECT, and the data provider.
Run in cs-connect
directory:
$ docker build -t cs-connect-base -f docker/dev.Dockerfile .
Run in cs-faker-data-provider
directory:
$ ./build.sh
Build and deploy (change the config file as needed by choosing from the existing files in cs-connect/config
):
$ ./make.sh -b -p config.local.yml
Deploy (change the config file as needed by choosing from the existing files in cs-connect/config
):
$ ./make.sh -p config.local.yml
If you're developing on Windows through WSL2, you may have to fix some permissions first. It is recommended to clone the project on the WSL filesystem to avoid incurring in slowdowns caused by the Windows - WSL filesystem synchronization overhead. Check that:
- The
config/config
andconfig/logs
folders are owned by the user 2000 (the Mattermost container user). - The
cs-connect/build/manifest
andcs-connect/build/pluginctl
files should have the execute flag (this might be needed if you cloned the project on the Windows filesystem and later moved it on the WSL filesystem).
- Build the CS-CONNECT package locally as instructed in its README. Be sure to use the correct config passed as argument. This is required due to the AWS machine not being powerful enough for the build step.
- Copy the packaged plugin to the machine with the
aws.copy-package.sh
script. The script assumes the existence of the required private key to authenticate to the machine. Assign proper values to the variables in the script. - Access the machine via SSH.
- Execute a git pull. This isn't required to update the CS-CONNECT plugin, but it is required if you want to update the cs-data-provider, since the latter is built directly on the AWS machine.
- Change the working directory to
cs-connect
and run the following command, after updating the version according to the change done:
sudo docker build -t csconnect/mattermost:{VERSION} -f docker/package.Dockerfile .
- If needed, update the faker module by navigating to its directory and executing the following script with the proper version, based on the changes done:
./build.sh {VERSION}
- Navigate to the
/opt/cs-connect
directory. - Edit the docker-compose.yml file with sudo (
sudo vim docker-compose.yml
) to upgrade the versions of the CS-CONNECT and/or data provider images according to the versions chosen previously. - Update the environment:
sudo docker-compose up -d
- Clean up the images that aren't needed anymore. Keep an eye out for the
none
image generated while updating the faker module image, which should also be deleted.
- Build the CS-CONNECT package locally as instructed in its README. Be sure to use the correct config passed as argument. This is required due to the AWS machine not being powerful enough for the build step.
- Copy the packaged plugin to the local machine with the
local.copy-package.sh
script. The script assumes the user has access to the machine used for development. Assign proper values to the variables in the script. - Execute a git pull. This isn't required to update the CS-CONNECT plugin, but it is required if you want to update the cs-data-provider, since the latter is built directly on the local machine.
- Change the working directory to
cs-connect
and run the following command, after updating the version according to the change done:
docker build -t csconnect/mattermost:{VERSION} -f docker/package.Dockerfile .
- If needed, update the faker module by navigating to its directory and executing the following script with the proper version, based on the changes done:
./build.sh {VERSION}
- Edit the docker-compose.yml file with sudo (
vim docker-compose.yml
) to upgrade the versions of the CS-CONNECT and/or data provider images according to the versions chosen previously. - Delete the
cs-aware-connect
plugin under theconfig/plugins
folder. - Run or update the environment:
bash start.sh -p
- Clean up the images that aren't needed anymore. Keep an eye out for the
none
image generated while updating the data provider module image, which should also be deleted. - Undeploy using:
docker compose down