Skip to content

MySocialApp internal deployer

License

Notifications You must be signed in to change notification settings

MySocialApp/msa-deployer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MSA Deployer Build Status

This tool is the one we're using at MySocialApp (iOS and Android social app builder - SaaS) to simplify deployment. It launch gitlab pipelines jobs and give a wizzard for some specific actions.

  +---------------+   +------------+  +---------------+
  | MSA Deployer  |-->| Gitlab API |  | Launch action |
  +------+--------+   +-----+------+  +---------------+
         |                  |                 ^
         v                  v                 |
    +---------+       +-----------+    +------+-------+
    | Wizzard |       | Gitlab CI |    | Docker Image |
    +----+----+       +----+------+    +--------------+
         |                  |                 ^
         v                  v                 |
  +--------------+     +---------+   +--------+-------+
  | Local Action |     | CD Jobs |-->| Clone MSA repo |
  +--------------+     +---------+   +----------------+

Some explaination:

  • MSA Deployer: When this tool is run, you can perform local actions or remote (through GitLab CI/CD)
  • Local Action: Some actions do not request GitLab API to be performed
  • GitLab API: Config file need to be fulfill to authorize access
  • Gitlab CI: Use .gitlab-ci.yml in your repository. Jobs will be used to make a pipeline
  • CD Jobs: Jobs will be created to be played once dependencies will be satisfied
  • Clone MSA repo: Git repository with submodules will be pulled
  • Docker image: a dedicated image with dependencies has to be made and will be pulled
  • Launch action: actions inside the docker image will be performed

Configuration

To be able to use the deployer, you need to make this config file and fill with your own config:

gitlab_project_id: ""
gitlab_pipeline_token: ""
gitlab_private_token: ""

Usage

Simply run this to get all available options:

./msa-deployer --help

To deploy, look at:

./msa-deployer deploy --help

If you want to deploy an app for all clients:

./msa-deployer deploy all <your_app_name>