MOLESIGNAL_URL and
MOLESIGNAL_TOKEN in the pipeline, or pass --url and --token. Create the token at
Identity & Access → API tokens, with a role that holds the permission each command names.
Report a deployment
apm.deploy.
Given a command after --, the CLI runs it first, records the deployment as succeeded or failed by
how the command ended, and exits as the command did:
The fields are those of Report deployments from CI.
Upload source maps
.map file under the folders is uploaded under its own name, which must be the deployed
bundle’s name and .map. Files are gzipped on the way, four at a time; --concurrency changes
that. Two maps of the same name would replace each other, so the command refuses them.
--application, --service, and --release must match what the RUM SDK reports: its
applicationId, service, and version. For Flutter Web, add --platform flutter and the
--debug-id the app was built with. The token’s role needs streams.configure.
--dry-run lists what would be uploaded. molesignal source-maps list lists the uploaded maps,
and molesignal source-maps delete <id> deletes one.
Upload mobile and native symbols
--debug-id, --platform, and --arch replace what a file tells; for a dSYM, --arch keeps one
architecture. --dry-run lists every file with the IDs read from it. molesignal symbols list
and molesignal symbols delete <id> list and delete uploads. The token’s role needs
streams.configure. RUM source maps and symbols explains how frames
are matched.
Check a release
molesignal synthetics run <check> --wait --yes runs a synthetic check at each of its locations
and exits with 1 when a run fails. molesignal services compare <service> <baseline> <candidate> --fail-on-regression exits with 1 when the candidate regressed. See
Incidents and changes and
Metrics, traces, and services.
Send lines to a stream
molesignal send sends each line of standard input to a log stream: a line that is a JSON object
as its fields, any other line as its message. Logs go in batches as they come, so it can follow
a file:
--field name=value adds a field to every log, --raw sends every line as a message, and
--batch sets the most logs per request, 500 by default. A busy server is tried again. The
command exits with 1 when MoleSignal rejected logs. The token’s role needs streams.write, as
an intake token’s does.
Keep the output of a job
molesignal run runs a command, shows its output as usual, and sends each line to a log stream,
then one more log with the exit status and how long it took. It exits as the command did:
message, output (stdout or stderr), command, run_id, and
host; the last one adds exit_code, duration_ms, and level. --quiet hides the output
here, and --field adds a field.
GitHub Actions
Save the address and the token as repository secrets, then add steps to the deploy job.if: always() reports a failed deployment too:
GitLab CI/CD
AddMOLESIGNAL_URL and MOLESIGNAL_TOKEN as masked CI/CD variables, then run the deploy command
through the CLI:
environment, and the commit, merge request, and job link from GitLab.