Search code examples
alexa-skills-kit

How to build an Alexa skill with multiple developers?


I'm struggling to handle the pipeline building an Alexa skill across several developers and existing docs just aren't cutting it.

We have four developers and when we check our code into our git repo, checkout new branches and so forth, we're continually overwriting our .ask/config and skill.json files.

How do we set this up to avoid overwriting? Ideally we're all building towards the same Alexa skill but we'd each like to test in our own instance -- separate skills and separate lambda functions.

As soon as I grab another developers branch, I lose my necessary config and skill files.

My gitignore has these files ignored, but since they're checked in they're continually being tracked.

How do I handle multiple developers?


Solution

  • I see several problems here.

    First of all - clean up your repo: make sure that all developers have ./ask/* entry added to their .gitignore files and ./ask directory is removed from the origin.

    To solve overriding problem - you can create a template-skill.json with placeholders for lambda's ARNs and all the other things different for each developer. Then, before ask deploy just create the valid skill.json file by running some script that replaces placeholders in the template JSON with your data (kept in another gitignored file).

    Setup the same in your CI instance with configurations for different environments.