This tutorial focuses on the GitLab CI, but you can adapt it with a little tweak to any other CI/CD platform.
Preface
Be sure you added your app first to Capgo, this tutorial just focuses on the upload phase
Commit convention
First you need to start following the commit convention conventional commits` this will help the tooling understand how to upgrade the version number, it’s 5 min to learn it.
GitLab CI for tag
Then you need to create your first GitLab to automatically build and create tag.
Create a file at this path: .github/workflows/bump_version.yml
with this content:
This will release a tag for every commit in your main branch. And add a changelog entry for each commit in the main branch in CHANGELOG.md
.
Don’t worry if you don’t have this file, it will be created for you.
To make this work, create a PERSONAL_ACCESS it in your GitHub secret as PERSONAL_ACCESS_TOKEN
.
This is necessary to let the CI commit the changelog.
When you create the token, choose expiration as never
and the scope as repo
.
Lastly, to let the tool understand where your version is saved, you have to create the file .cz.toml
at the root of your repository.
And add this inside :
Set the version in this file as the same you have in your package.json
file.
This is only necessary the first time, then the tools will keep it up to date.
You can now commit this both files and see your first tag appear in GitHub!
GitHub actions for build
Create a file at this path: .github/workflows/build.yml
with this content:
This will install and build your dependency before sending it to Capgo.
If your command for build is different, you can change it in the build_code
step.
To make this work, you need to get your API key for Capgo, add it in the secret of your GitHub repository as CAPGO_TOKEN
.
You can now commit this both files and see your first tag appear in GitHub!
Add the commit will generate a new build for the production channel.
You should add your test in the build step to ensure your code is working.
Go To your Capgo dashboard and check your build who just appeared, you now have your CI/CD system.
If you want to let all of your users get the update whenever it’s available, go to your channel and set it to public
.