Package

How to package deployable units!

1 Appkit Package

1.1 Get a new feature to staging

  1. Create a feature branch.
  2. Get your changes merged by opening a merge request.
  3. As soon as your changes are merged tomain-branch a build script is started to create an installable artifact.
  4. Find your artifact.
  • For appkit (the server component) the result of new build of main can be found in the gitlab docker registry. Builds from the main branch are published as docker image with the tag main.
  • For appkit-mobile (the mobile app) the result of new build of main is deployed directly to the Google Play Store as a new app bundle available by default in the Internal Testing stage. There are no gitlab pipeline for the delivery artifact.
  • For appkit-manual the result of a new build of main can be found at the Gitlab container registry. Builds from the main branch are published as docker imager with the tag main.
  1. Get your changes to staging.
  • For appkit (the server component) go to appkit-ops and press the Run pipeline button. Here you will find an option Rollout Snapshot to test host. The rollout starts immediatly when you click this option. The rollout script will trigger a restart of the app based on the main images in the docker registry. Explore your changes at https://admin.appkit-staging.gesis.org/login. This will also deploy the latest main image of the appkit-manual.

1.2 Get a new feature to production

  1. Create releases on appkit.
  • For appkit (the server component): This is done via a pipeline on “main”. Go to the latest commit on main and look out for the pipeline buttons. Here you will find buttons to build artifacts for staging and production. The production job will create a release tag and bump the release number.
  • For appkit-manual. Got to appkit-manual/releases and create a new release from main. You can review the current version via the gitlab review environment. Create a Tag for the release. The Tag should be named using ‘semantic versioning’, e.g. 1.23.3.
  1. As soon as the release process is triggered a bundle of installable artifacts is created.
  2. Find the artifacts.
  • For appkit (the server component) the result of a new release build can be found in the gitlab container registry. Builds will have a tag with the release number attached. The latest release is tagged with latest.
  • For appkit-manual. The result of a new release build can be found in Gitlab container registry afterwards.
  1. Get your changes into production.
  • For appkit (the server component) provide the version you like to install on production by editing the VERSION file. Please be aware that in some cases, depending on the changes that come with the new release you have to update the config files provided in the appkit-ops repo in before. Please get in contact with the developers and update configs if necessary..

  • For appkit-manual provide the version you like to install on production by editing the VERSION file.

  • For appkit-mobile (the mobile app) the result of new build of main is deployed directly to the Google Play Store as a new app bundle available by default in the Internal Testing stage. There are no gitlab pipeline for the delivery of artifact.Comment JS:Please use Tags to build new versions from! We need well defined code branches to build our releases from.

  • Go to appkit-ops. Here you will find an option Rollout Release to prod host. The rollout starts immediatly when you click this option. The rollout script will trigger a restart of the app based on the images in the docker registry. Explore your changes at https://admin.appkit.gesis.org/login.

1.3 Deployment Diagram

Deployment Diagram

Deployment Diagram
Title Modified
No matching items