You Should also Setup Fastlane match action for ensuring that the app is signed before uploading.
in our Fast file, we will add a lane responsible for archiving and uploading a build to the App Store Connect. This lane takes two parameters target and identifier.
First, we are setting environment variable DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS for fixing Firewall Issues that you may face More Details.
Then we are building the project and generate IPA using GYM you can check all its parameters.
Then uploading this IPA using PILOT action you can check all its parameters.
we just add one stage for our pipeline it’s called deploy you can add more like a test, lint, build whatever you need to call. Then our deploy stage will run when code only pushed to a branch called staging. our scripts will first run match to ensure Appstore distribution certificates are set. Then we are run the lane that we added to Fast File and passing its parameters.