These slides are very specific to the Rack Native code signing process. And this includes the instructions for if you wanna generate using KeyTool for Android Studio and then also on the iOS side, if you want to generate your certificate using the certificate assistance, this is outside of Xcode. So if you don't have Xcode on your machine, this is the way that you are able to create a new certificate. And it's a little more complex. And it has all the provisioning profile of screenshots and information as well as how you can have automated signing using the GitHub action that I mentioned. So all of that is here in the slides for you.
And then as a last note, we also do have a e-book about mobile CICD with AppFlow. This is a more high level concept driven e-book around the best practices for implementing a CICD pipeline. So if you're interested in that, the link is also there as well.
So, all right, great. Well, in the time that we have left, are there any questions that I can answer about anything that we covered today? Happy to kind of demo anything else and take a look at anything else as well.
Okay, so I personally have not used Microsoft App Center, but I have talked to people who have used it. So, it is similar in that, typically the use case that I see people use App Center for is for distribution. So they will upload their binaries in order to distribute to QA testers, the internal stakeholders, but it is very similar in that it does, you have the option to do cloud builds, you have the option to do uploads as well. I would say one of the differences is that app flow was initially designed for capacitor develop, for ionic and capacitor developers. So it's designed to be very user-friendly for web developers who are coming to mobile and coming to cross platform for the first time. So as you can see, like our GUI is pretty straightforward. It's like a form, it's like dropdowns, like drag and drop, trying to make it as simple as possible. That being said, the reason it's designed that way is because it's designed to do those two things really well. It's designed to do the cloud builds, the deploy, they upload to the app stores and then automations, as streamlined and simply as possible. So, different CI-CD tools that may have kind of more complexities but then also more like features that are built into it. So depending on what your use case is, if you do need like very specific types of workflows or if you need different, like different like configuration steps, then you may want a tool that is something that's more like YAML based or that has a more complex GUI. For example, a lot of people will ask like comparisons, like to Bitrise, and Bitrise has like 300 workflow steps and a workflow builder, but it becomes like, it's kind of just like more complex that way because of all the features that it has. So it just kind of depends on what your use case is. So, AppFlow, the GUI is designed to be very straightforward and simple. We do also have a CLI that you can integrate with existing CIC as well, but that's kind of my, what I heard from it.
Yeah, so it can be triggered from GitLab's CICD. So here I mentioned that we have a CLI. So our CloudCLI, essentially, like what you install it in your pipeline, it takes less than a second, I've done it myself before in GitHub Actions, and then you're able to interact with it in order to trigger builds and uploads. So this is a GitLab example, and I can pop this in the chat, but what you're essentially doing is you're just passing through your, like an Ionic Cloud, like an Appflow token, and then you're triggering your build. You're then deploying it up here to the App Store. Now, you're triggering this from a GitLab runner, but you're using our machines. So you don't have to have a Mac, you don't have to provision like a Mac hardware or Mac machine, you don't have to install any of those dependencies, because what you're doing is from the GitLab runner as part of an existing workflow, you're telling Appflow, hey, use this commit shaw, do a build of this build type, then me back the binary, that way I can do with it whatever I want. So for example, you can then upload it to Sauce Labs for testing, or you can just upload it to Microsoft App Center if you wanted to, or you can again then use the Appflow CLI to upload it to Test Flight or upload it to Google Play. So this is the GitLab example. I actually also built out an example for GitHub actions. So this is the GitHub actions version. Similar, it's just, you have your secrets, you have your token, your app ID, the type of signing sort that you want to use, and then like your destination. And you install the CLI. You're building it, again, this is all on Ubuntu, but you could be doing Mac builds, whatever it is that you want, you don't have to install your credentials. Everything is done on our servers. And then the AAB is being sent back. You don't even need to do that. You can also just trigger the upload using the build ID because again, everything is happening on Apple servers. But I personally like to upload the AAB and GitHub actions as well, so I have the artifact in both places, but that's optional. And then just also clarify, you mentioned GitLab CI CD specifically, but we also do support GitLab as a Git provider as well. So if you host not on GitHub but on GitLab you could do, basically we have GitHub, GitHub enterprise, GitLab, Bitbucket, Azure DevOps, and then something called Ionic Remote, but that's like if you don't have a Git provider, but we recommend having you have a Git provider. Good questions, right, well, like I said, if anything comes up please feel free to reach out to me. I am at Cecilia Creates on Twitter, GitHub, also it's just Cecilia at Ionic.io is my email. So if you have any feedback on AppFlow as you're running through it or checking it out, let us know. Yeah, the slides are published so they shouldn't go down. Awesome, well, thank you all for your participation, I hope this was helpful for you and yeah, let me know if you'll have any questions. And yeah, it's honestly like coming from a web background and learning mobile, it's a lot. So it'll take some time, you'll get rejected, it'll happen and it's just all part of the process.