GitLab Process¶
This document outlines the processes for supporting the Mattermost package in GitLab Omnibus.
Contents
Merge Requests¶
To submit a merge request (MR) to GitLab for taking the next Mattermost version, follow these steps. The MR must be merged by the 7th of the month to be included in a GitLab release.
Check out the latest version of GitLab Omnibus and make a branch with the following changes:
- Changes to Mattermost version number (default_version) and md5 sum of the final TE build (source md5) in config/software/mattermost.rb
- Update to the GitLab changelog by using
/scripts/changelog
script to create a changelog entry - Config.json updates to gitlab.rb, attributes default.rb and config.json.erb with new TE config settings (see example)
- Update to GitLab Mattermost documentation
Build GitLab and test it locally following these steps.
Submit a MR to the master branch of Gitlab, including a summary of updates in Team Edition that are relevant to GitLab
Post a link to the MR in the Release Discussion channel.
Check daily for updates until the MR is merged, ensuring it gets merged by the 7th of the month.
Once the MR is merged and included in an RC, test upgrade following these steps.
If the release contains a security update, PM owner emails @marin and @briann in GitLab with a link to the MR, and all subsequent backports.
Testing¶
The following steps are taken to test the Mattermost package before each merge request to GitLab Omnibus:
- Pull the latest master build of GitLab Omnibus, using the nightly Omnibus packages.
- Update
default_version
andmd5
variables for the new Mattermost version in config/softwater/mattermost.rb.
name 'mattermost'
default_version '5.19.0-rc2'
source url: "https://releases.mattermost.com/#{version}/mattermost-team-#{version}-linux-amd64.tar.gz",
md5: 'fe49d764324334480b296fc6c500b706'
- Update the list of Mattermost versions associated with each GitLab release in the GitLab documentation, and add a changelog entry.
- Build GitLab Omnibus using these instructions.
- Install the generated
.deb
file on a local test server.
The Mattermost team then tests the upgrade process and validates the packaging code and OAuth setup which have historically been the main source of issues. Other test areas include:
- Pre-provisioning OAuth configuration automatically on the Omnibus package.
- Mattermost ChatOps slash command integration.
- OAuth team creation option in GitLab Omnibus.
Upgrade Process¶
Follow these steps to test the upgrade process for Mattermost in GitLab Omnibus.
The current test servers are located at:
- http://gitlab-rc-testing.spinmint.com - The GitLab instance itself
- http://gitlab-rc-testing2.spinmint.com - GitLab Mattermost
The root admin account for them has username root and password Password1.
- Connect to the previously configured instance using the key you used to set it up. The host name is
ubuntu@gitlab-rc-testing.spinmint.com
. - Make sure your package manager is configured to allow for Gitlab RCs:
Click on the newest release candidate that’s marked CE and is for Ubuntu/Trusty.
Run the first command listed on that page on your server. It looks something like:
curl -s https://packages.gitlab.com/install/repositories/gitlab/unstable/script.deb.sh | sudo bash
- Update the package manager
sudo apt-get update
Update GitLab by running the second command listed on the page you opened on step 2. It looks something like:
sudo apt-get install gitlab-ce=8.10.0-rc13.ce.0
Reconfigure GitLab:
sudo gitlab-ctl reconfigure
- Restart GitLab:
sudo gitlab-ctl restart
- To confirm the upgrade was successful:
- Go to `http://gitlab-rc-testing2.spinmint.com <http://gitlab-rc-testing2.spinmint.com >`__.
- Create an account and log in.
- Confirm the correct version number in Main Menu > About Mattermost.
To help with debugging, including a list of useful commands, see the support handbook.
Service-Level Agreement (SLA)¶
Mattermost has created a mattermost-support
account in GitLab for support issues, and has subscribed to the mattermost
label in the following projects:
When a mattermost label is applied, an email notification is sent to the technical support team who answers the question within two business days using the mattermost-support
account.
GitLab Premier Support Issues¶
GitLab has a 4-hour support window for their premier support customers and Mattermost has set up a process to support this window.
When a premier support issue requires escalation to the Mattermost support team, GitLab assigns the issue to the mattermost-support
account. This assignment sends an email notification, which is automatically escalated to the critical level technical support who answers the question within 4 hours using the mattermost-support
account.
Monthly Meetings¶
Changes and features affecting GitLab Omnibus are communicated via GitLab issues and GitLab Slack channel.
Moreover, a recurring monthly meeting between a product manager at GitLab and Mattermost is organized to cover
- concerns/issues from GitLab Omnibus team,
- new upcoming changes or features in Mattermost affecting GitLab Omnibus, and
- other miscellaneous queued items.
Optionally, an engineer from both GitLab and Mattermost teams also joins the meeting.
Templates¶
GitLab announcement proposal¶
Proposed update for new version of [Mattermost](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1241).
### GitLab Mattermost 4.7
GitLab 10.6 includes [Mattermost 4.7](https://about.mattermost.com/releases/mattermost-4-7/), an [open source Slack-alternative](https://about.mattermost.com/) whose newest release includes enhanced image preview and thumbnails, faster load times, upgraded desktop app, plus much more.
This version also includes [security updates](https://mattermost.com/security-updates/) and upgrading is recommended.