[{"data":1,"prerenderedAt":1029},["ShallowReactive",2],{"docs-navigation":3,"-docs-cli-builds":410,"-docs-cli-builds-surround":1024},[4,19,166,319,333,397],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":18},"Overview","i-lucide-compass","\u002Fdocs\u002Foverview","docs\u002F1.overview",[10,14],{"title":11,"path":12,"stem":13},"Introduction","\u002Fdocs\u002Foverview\u002Fintroduction","docs\u002F1.overview\u002F1.introduction",{"title":15,"path":16,"stem":17},"JFrog compatibility","\u002Fdocs\u002Foverview\u002Fjfrog-compatibility","docs\u002F1.overview\u002F2.jfrog-compatibility",false,{"title":20,"icon":21,"path":22,"stem":23,"children":24,"page":18},"Installation","i-lucide-download","\u002Fdocs\u002Finstallation","docs\u002F2.installation",[25,29,43,68,108,112,116,162],{"title":26,"path":27,"stem":28},"Choosing a method","\u002Fdocs\u002Finstallation\u002Foverview","docs\u002F2.installation\u002F1.overview",{"title":30,"icon":31,"path":32,"stem":33,"children":34,"page":18},"Single binary","i-lucide-terminal","\u002Fdocs\u002Finstallation\u002Fsingle-binary","docs\u002F2.installation\u002F2.single-binary",[35,39],{"title":36,"path":37,"stem":38},"Quick start","\u002Fdocs\u002Finstallation\u002Fsingle-binary\u002Fquick-start","docs\u002F2.installation\u002F2.single-binary\u002F1.quick-start",{"title":40,"path":41,"stem":42},"Limits and backups","\u002Fdocs\u002Finstallation\u002Fsingle-binary\u002Foperations","docs\u002F2.installation\u002F2.single-binary\u002F2.operations",{"title":44,"icon":45,"path":46,"stem":47,"children":48,"page":18},"Docker","i-simple-icons-docker","\u002Fdocs\u002Finstallation\u002Fdocker","docs\u002F2.installation\u002F3.docker",[49,52,56,60,64],{"title":36,"path":50,"stem":51},"\u002Fdocs\u002Finstallation\u002Fdocker\u002Fquick-start","docs\u002F2.installation\u002F3.docker\u002F1.quick-start",{"title":53,"path":54,"stem":55},"PostgreSQL and S3","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fpostgresql-and-s3","docs\u002F2.installation\u002F3.docker\u002F2.postgresql-and-s3",{"title":57,"path":58,"stem":59},"Docker Compose","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose","docs\u002F2.installation\u002F3.docker\u002F3.compose",{"title":61,"path":62,"stem":63},"Compose settings","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose-settings","docs\u002F2.installation\u002F3.docker\u002F4.compose-settings",{"title":65,"path":66,"stem":67},"Compose with another object store","\u002Fdocs\u002Finstallation\u002Fdocker\u002Fcompose-other-object-storage","docs\u002F2.installation\u002F3.docker\u002F5.compose-other-object-storage",{"title":69,"icon":70,"path":71,"stem":72,"children":73,"page":18},"Kubernetes","i-simple-icons-kubernetes","\u002Fdocs\u002Finstallation\u002Fkubernetes","docs\u002F2.installation\u002F4.kubernetes",[74,77,80,84,88,92,96,100,104],{"title":5,"path":75,"stem":76},"\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Foverview","docs\u002F2.installation\u002F4.kubernetes\u002F1.overview",{"title":36,"path":78,"stem":79},"\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fquick-start","docs\u002F2.installation\u002F4.kubernetes\u002F2.quick-start",{"title":81,"path":82,"stem":83},"External PostgreSQL","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexternal-postgresql","docs\u002F2.installation\u002F4.kubernetes\u002F3.external-postgresql",{"title":85,"path":86,"stem":87},"External object storage","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexternal-object-storage","docs\u002F2.installation\u002F4.kubernetes\u002F4.external-object-storage",{"title":89,"path":90,"stem":91},"Exposing Relic","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fexposing","docs\u002F2.installation\u002F4.kubernetes\u002F5.exposing",{"title":93,"path":94,"stem":95},"Values","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fvalues","docs\u002F2.installation\u002F4.kubernetes\u002F6.values",{"title":97,"path":98,"stem":99},"Upgrades and removal","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fupgrades","docs\u002F2.installation\u002F4.kubernetes\u002F7.upgrades",{"title":101,"path":102,"stem":103},"Hardening and probes","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fhardening","docs\u002F2.installation\u002F4.kubernetes\u002F8.hardening",{"title":105,"path":106,"stem":107},"Monitoring","\u002Fdocs\u002Finstallation\u002Fkubernetes\u002Fmonitoring","docs\u002F2.installation\u002F4.kubernetes\u002F9.monitoring",{"title":109,"path":110,"stem":111},"Cloudflare","\u002Fdocs\u002Finstallation\u002Fcloudflare","docs\u002F2.installation\u002F5.cloudflare",{"title":113,"path":114,"stem":115},"Configuration reference","\u002Fdocs\u002Finstallation\u002Fconfiguration","docs\u002F2.installation\u002F6.configuration",{"title":117,"icon":118,"path":119,"stem":120,"children":121,"page":18},"Storage","i-lucide-hard-drive","\u002Fdocs\u002Finstallation\u002Fstorage","docs\u002F2.installation\u002F7.storage",[122,126,130,134,138,142,146,150,154,158],{"title":123,"path":124,"stem":125},"Storage overview","\u002Fdocs\u002Finstallation\u002Fstorage\u002Foverview","docs\u002F2.installation\u002F7.storage\u002F1.overview",{"title":127,"path":128,"stem":129},"Azure Blob Storage","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fazure-blob-storage","docs\u002F2.installation\u002F7.storage\u002F10.azure-blob-storage",{"title":131,"path":132,"stem":133},"SeaweedFS","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fseaweedfs","docs\u002F2.installation\u002F7.storage\u002F2.seaweedfs",{"title":135,"path":136,"stem":137},"Amazon S3","\u002Fdocs\u002Finstallation\u002Fstorage\u002Famazon-s3","docs\u002F2.installation\u002F7.storage\u002F3.amazon-s3",{"title":139,"path":140,"stem":141},"Cloudflare R2","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fcloudflare-r2","docs\u002F2.installation\u002F7.storage\u002F4.cloudflare-r2",{"title":143,"path":144,"stem":145},"MinIO","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fminio","docs\u002F2.installation\u002F7.storage\u002F5.minio",{"title":147,"path":148,"stem":149},"Google Cloud Storage","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fgoogle-cloud-storage","docs\u002F2.installation\u002F7.storage\u002F6.google-cloud-storage",{"title":151,"path":152,"stem":153},"Backblaze B2","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fbackblaze-b2","docs\u002F2.installation\u002F7.storage\u002F7.backblaze-b2",{"title":155,"path":156,"stem":157},"Other S3-compatible services","\u002Fdocs\u002Finstallation\u002Fstorage\u002Fother","docs\u002F2.installation\u002F7.storage\u002F8.other",{"title":159,"path":160,"stem":161},"Filesystem","\u002Fdocs\u002Finstallation\u002Fstorage\u002Ffilesystem","docs\u002F2.installation\u002F7.storage\u002F9.filesystem",{"title":163,"path":164,"stem":165},"Development","\u002Fdocs\u002Finstallation\u002Fdevelopment","docs\u002F2.installation\u002F8.development",{"title":167,"icon":168,"path":169,"stem":170,"children":171,"page":18},"Guides","i-lucide-book-open","\u002Fdocs\u002Fguides","docs\u002F3.guides",[172,176,180,254,296,300,303,307,311,315],{"title":173,"path":174,"stem":175},"Repositories","\u002Fdocs\u002Fguides\u002Frepositories","docs\u002F3.guides\u002F1.repositories",{"title":177,"path":178,"stem":179},"Replication","\u002Fdocs\u002Fguides\u002Freplication","docs\u002F3.guides\u002F10.replication",{"title":181,"icon":182,"path":183,"stem":184,"children":185,"page":18},"Package types","i-lucide-package","\u002Fdocs\u002Fguides\u002Fpackage-types","docs\u002F3.guides\u002F2.package-types",[186,190,194,198,202,206,210,214,218,222,226,230,234,238,242,246,250],{"title":187,"path":188,"stem":189},"npm, yarn and pnpm","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnpm","docs\u002F3.guides\u002F2.package-types\u002F01.npm",{"title":191,"path":192,"stem":193},"Maven and Gradle","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fmaven-gradle","docs\u002F3.guides\u002F2.package-types\u002F02.maven-gradle",{"title":195,"path":196,"stem":197},"Docker and OCI","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fdocker","docs\u002F3.guides\u002F2.package-types\u002F03.docker",{"title":199,"path":200,"stem":201},"Go","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fgo","docs\u002F3.guides\u002F2.package-types\u002F04.go",{"title":203,"path":204,"stem":205},"PyPI","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fpypi","docs\u002F3.guides\u002F2.package-types\u002F05.pypi",{"title":207,"path":208,"stem":209},"Helm","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fhelm","docs\u002F3.guides\u002F2.package-types\u002F06.helm",{"title":211,"path":212,"stem":213},"NuGet","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnuget","docs\u002F3.guides\u002F2.package-types\u002F07.nuget",{"title":215,"path":216,"stem":217},"RubyGems","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Frubygems","docs\u002F3.guides\u002F2.package-types\u002F08.rubygems",{"title":219,"path":220,"stem":221},"Cargo","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fcargo","docs\u002F3.guides\u002F2.package-types\u002F09.cargo",{"title":223,"path":224,"stem":225},"Conan","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fconan","docs\u002F3.guides\u002F2.package-types\u002F10.conan",{"title":227,"path":228,"stem":229},"Terraform and OpenTofu","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fterraform","docs\u002F3.guides\u002F2.package-types\u002F11.terraform",{"title":231,"path":232,"stem":233},"Hugging Face","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fhugging-face","docs\u002F3.guides\u002F2.package-types\u002F12.hugging-face",{"title":235,"path":236,"stem":237},"Generic files","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fgeneric","docs\u002F3.guides\u002F2.package-types\u002F13.generic",{"title":239,"path":240,"stem":241},"RPM","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Frpm","docs\u002F3.guides\u002F2.package-types\u002F14.rpm",{"title":243,"path":244,"stem":245},"Debian","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fdebian","docs\u002F3.guides\u002F2.package-types\u002F15.debian",{"title":247,"path":248,"stem":249},"Alpine","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Falpine","docs\u002F3.guides\u002F2.package-types\u002F16.alpine",{"title":251,"path":252,"stem":253},"Nix","\u002Fdocs\u002Fguides\u002Fpackage-types\u002Fnix","docs\u002F3.guides\u002F2.package-types\u002F17.nix",{"title":255,"icon":256,"path":257,"stem":258,"children":259,"page":18},"Security","i-lucide-shield","\u002Fdocs\u002Fguides\u002Fsecurity","docs\u002F3.guides\u002F3.security",[260,264,268,272,276,280,284,288,292],{"title":261,"path":262,"stem":263},"Permissions","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fpermissions","docs\u002F3.guides\u002F3.security\u002F1.permissions",{"title":265,"path":266,"stem":267},"LDAP","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fldap","docs\u002F3.guides\u002F3.security\u002F2.ldap",{"title":269,"path":270,"stem":271},"Access tokens","\u002Fdocs\u002Fguides\u002Fsecurity\u002Ftokens","docs\u002F3.guides\u002F3.security\u002F3.tokens",{"title":273,"path":274,"stem":275},"Relic Scan","\u002Fdocs\u002Fguides\u002Fsecurity\u002Frelic-scan","docs\u002F3.guides\u002F3.security\u002F4.relic-scan",{"title":277,"path":278,"stem":279},"CVE intelligence","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fcve-intelligence","docs\u002F3.guides\u002F3.security\u002F5.cve-intelligence",{"title":281,"path":282,"stem":283},"Audit log","\u002Fdocs\u002Fguides\u002Fsecurity\u002Faudit-log","docs\u002F3.guides\u002F3.security\u002F6.audit-log",{"title":285,"path":286,"stem":287},"Single sign-on","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fsingle-sign-on","docs\u002F3.guides\u002F3.security\u002F7.single-sign-on",{"title":289,"path":290,"stem":291},"SCIM provisioning","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fscim","docs\u002F3.guides\u002F3.security\u002F8.scim",{"title":293,"path":294,"stem":295},"Workload identities","\u002Fdocs\u002Fguides\u002Fsecurity\u002Fworkload-identities","docs\u002F3.guides\u002F3.security\u002F9.workload-identities",{"title":297,"path":298,"stem":299},"Operations","\u002Fdocs\u002Fguides\u002Foperations","docs\u002F3.guides\u002F4.operations",{"title":105,"path":301,"stem":302},"\u002Fdocs\u002Fguides\u002Fmonitoring","docs\u002F3.guides\u002F5.monitoring",{"title":304,"path":305,"stem":306},"Metrics reference","\u002Fdocs\u002Fguides\u002Fmetrics-reference","docs\u002F3.guides\u002F6.metrics-reference",{"title":308,"path":309,"stem":310},"Webhooks","\u002Fdocs\u002Fguides\u002Fwebhooks","docs\u002F3.guides\u002F7.webhooks",{"title":312,"path":313,"stem":314},"Projects","\u002Fdocs\u002Fguides\u002Fprojects","docs\u002F3.guides\u002F8.projects",{"title":316,"path":317,"stem":318},"AI agents","\u002Fdocs\u002Fguides\u002Fai-agents","docs\u002F3.guides\u002F9.ai-agents",{"title":320,"icon":321,"path":322,"stem":323,"children":324,"page":18},"API","i-lucide-braces","\u002Fdocs\u002Fapi","docs\u002F4.api",[325,329],{"title":326,"path":327,"stem":328},"API usage","\u002Fdocs\u002Fapi\u002Foverview","docs\u002F4.api\u002F1.overview",{"title":330,"path":331,"stem":332},"Relic API","\u002Fdocs\u002Fapi\u002Frelic-api","docs\u002F4.api\u002F2.relic-api",{"title":334,"icon":31,"path":335,"stem":336,"children":337,"page":18},"CLI","\u002Fdocs\u002Fcli","docs\u002F5.cli",[338,341,345,349,353,357,361,365,369,373,377,381,385,389,393],{"title":5,"path":339,"stem":340},"\u002Fdocs\u002Fcli\u002Foverview","docs\u002F5.cli\u002F01.overview",{"title":342,"path":343,"stem":344},"Sign in and contexts","\u002Fdocs\u002Fcli\u002Fsign-in","docs\u002F5.cli\u002F02.sign-in",{"title":346,"path":347,"stem":348},"Resources","\u002Fdocs\u002Fcli\u002Fresources","docs\u002F5.cli\u002F03.resources",{"title":350,"path":351,"stem":352},"apply, diff and delete","\u002Fdocs\u002Fcli\u002Fapply","docs\u002F5.cli\u002F04.apply",{"title":354,"path":355,"stem":356},"Artifacts","\u002Fdocs\u002Fcli\u002Ffiles","docs\u002F5.cli\u002F05.files",{"title":358,"path":359,"stem":360},"Server, API and tokens","\u002Fdocs\u002Fcli\u002Fplatform","docs\u002F5.cli\u002F06.platform",{"title":362,"path":363,"stem":364},"Builds and images","\u002Fdocs\u002Fcli\u002Fbuilds","docs\u002F5.cli\u002F07.builds",{"title":366,"path":367,"stem":368},"Scanning and auditing","\u002Fdocs\u002Fcli\u002Fsecurity","docs\u002F5.cli\u002F08.security",{"title":370,"path":371,"stem":372},"Releases","\u002Fdocs\u002Fcli\u002Freleases","docs\u002F5.cli\u002F09.releases",{"title":374,"path":375,"stem":376},"Evidence","\u002Fdocs\u002Fcli\u002Fevidence","docs\u002F5.cli\u002F10.evidence",{"title":378,"path":379,"stem":380},"Package managers","\u002Fdocs\u002Fcli\u002Fpackage-managers","docs\u002F5.cli\u002F11.package-managers",{"title":382,"path":383,"stem":384},"Scan reports and VEX","\u002Fdocs\u002Fcli\u002Freports-and-vex","docs\u002F5.cli\u002F12.reports-and-vex",{"title":386,"path":387,"stem":388},"Migrating from Artifactory","\u002Fdocs\u002Fcli\u002Fimport","docs\u002F5.cli\u002F13.import",{"title":390,"path":391,"stem":392},"Database","\u002Fdocs\u002Fcli\u002Fdatabase","docs\u002F5.cli\u002F14.database",{"title":394,"path":395,"stem":396},"Machine setup","\u002Fdocs\u002Fcli\u002Fsetup","docs\u002F5.cli\u002F15.setup",{"title":398,"icon":399,"path":400,"stem":401,"children":402,"page":18},"SDK","i-lucide-boxes","\u002Fdocs\u002Fsdk","docs\u002F6.sdk",[403,406],{"title":5,"path":404,"stem":405},"\u002Fdocs\u002Fsdk\u002Foverview","docs\u002F6.sdk\u002F1.overview",{"title":407,"path":408,"stem":409},"Relic API clients","\u002Fdocs\u002Fsdk\u002Frelic-api-clients","docs\u002F6.sdk\u002F2.relic-api-clients",{"id":411,"title":362,"body":412,"description":1017,"extension":1018,"links":1019,"meta":1020,"navigation":1021,"path":363,"seo":1022,"stem":364,"__hash__":1023},"docs\u002Fdocs\u002F5.cli\u002F07.builds.md",{"type":413,"value":414,"toc":1009},"minimark",[415,420,433,440,486,489,508,523,550,561,601,604,625,636,660,667,685,688,706,710,713,727,730,747,758,776,783,787,794,812,826,830,833,869,882,892,920,923,947,951,954,977,984,1002,1005],[416,417,419],"h2",{"id":418},"recording-a-run","Recording a run",[421,422,423,424,428,429,432],"p",{},"A run is assembled locally, command by command, then published. Runs in\nprogress live in ",[425,426,427],"code",{},"$RELIC_BUILD_DIR"," (default: ",[425,430,431],{},"builds\u002F"," next to the config\nfile), so the commands can run in separate CI steps.",[421,434,435,436,439],{},"Record environment variables as ",[425,437,438],{},"env.\u003CNAME>"," properties, leaving out names\nthat look secret:",[441,442,447],"pre",{"className":443,"code":444,"language":445,"meta":446,"style":446},"language-bash shiki shiki-themes material-theme-lighter github-light-default github-dark-default","relic build collect-env app 42 --include 'CI_*'\n","bash","",[425,448,449],{"__ignoreMap":446},[450,451,454,458,462,465,468,472,476,480,483],"span",{"class":452,"line":453},"line",1,[450,455,457],{"class":456},"seIyd","relic",[450,459,461],{"class":460},"sasMN"," build",[450,463,464],{"class":460}," collect-env",[450,466,467],{"class":460}," app",[450,469,471],{"class":470},"sIO_5"," 42",[450,473,475],{"class":474},"smky3"," --include",[450,477,479],{"class":478},"sX5mu"," '",[450,481,482],{"class":460},"CI_*",[450,484,485],{"class":478},"'\n",[421,487,488],{},"Record the Git remote (without credentials), branch and revision:",[441,490,492],{"className":443,"code":491,"language":445,"meta":446,"style":446},"relic build add-git app 42\n",[425,493,494],{"__ignoreMap":446},[450,495,496,498,500,503,505],{"class":452,"line":453},[450,497,457],{"class":456},[450,499,461],{"class":460},[450,501,502],{"class":460}," add-git",[450,504,467],{"class":460},[450,506,507],{"class":470}," 42\n",[421,509,510,511,514,515,518,519,522],{},"Upload an artifact and record it in the run. It also gets the ",[425,512,513],{},"build.name",",\n",[425,516,517],{},"build.number"," and ",[425,520,521],{},"build.timestamp"," properties:",[441,524,526],{"className":443,"code":525,"language":445,"meta":446,"style":446},"relic artifact upload target\u002Fapp.jar libs-local\u002Forg\u002Fapp\u002F1.0\u002Fapp.jar --build app\u002F42\n",[425,527,528],{"__ignoreMap":446},[450,529,530,532,535,538,541,544,547],{"class":452,"line":453},[450,531,457],{"class":456},[450,533,534],{"class":460}," artifact",[450,536,537],{"class":460}," upload",[450,539,540],{"class":460}," target\u002Fapp.jar",[450,542,543],{"class":460}," libs-local\u002Forg\u002Fapp\u002F1.0\u002Fapp.jar",[450,545,546],{"class":474}," --build",[450,548,549],{"class":460}," app\u002F42\n",[421,551,552,553,556,557,560],{},"Record local files as dependencies (with ",[425,554,555],{},"--from-relic",", files stored in\nRelic, as ",[425,558,559],{},"\u003Crepository>\u002F\u003Cpath>","):",[441,562,564],{"className":443,"code":563,"language":445,"meta":446,"style":446},"relic build add-dependencies app 42 vendor\u002F*.jar --type maven --scope compile\n",[425,565,566],{"__ignoreMap":446},[450,567,568,570,572,575,577,579,582,586,589,592,595,598],{"class":452,"line":453},[450,569,457],{"class":456},[450,571,461],{"class":460},[450,573,574],{"class":460}," add-dependencies",[450,576,467],{"class":460},[450,578,471],{"class":470},[450,580,581],{"class":460}," vendor\u002F",[450,583,585],{"class":584},"sum78","*",[450,587,588],{"class":460},".jar",[450,590,591],{"class":474}," --type",[450,593,594],{"class":460}," maven",[450,596,597],{"class":474}," --scope",[450,599,600],{"class":460}," compile\n",[421,602,603],{},"Record a container image's manifest and layers, read from Relic. For a\nmulti-platform image (an index), the index and each platform manifest stored in\nthe repository are recorded with their layers:",[441,605,607],{"className":443,"code":606,"language":445,"meta":446,"style":446},"relic build add-image app 42 docker-local\u002Fteam\u002Fapp:1.4.0\n",[425,608,609],{"__ignoreMap":446},[450,610,611,613,615,618,620,622],{"class":452,"line":453},[450,612,457],{"class":456},[450,614,461],{"class":460},[450,616,617],{"class":460}," add-image",[450,619,467],{"class":460},[450,621,471],{"class":470},[450,623,624],{"class":460}," docker-local\u002Fteam\u002Fapp:1.4.0\n",[421,626,627,628,631,632,635],{},"Add the published run ",[425,629,630],{},"app\u002F42"," to run ",[425,633,634],{},"release\u002F7"," as a module:",[441,637,639],{"className":443,"code":638,"language":445,"meta":446,"style":446},"relic build append release 7 app 42\n",[425,640,641],{"__ignoreMap":446},[450,642,643,645,647,650,653,656,658],{"class":452,"line":453},[450,644,457],{"class":456},[450,646,461],{"class":460},[450,648,649],{"class":460}," append",[450,651,652],{"class":460}," release",[450,654,655],{"class":470}," 7",[450,657,467],{"class":460},[450,659,507],{"class":470},[421,661,662,663,666],{},"Publish the run and forget it locally (",[425,664,665],{},"--dry-run"," prints it instead). It fails\nwhen no run of that name and number is recorded locally:",[441,668,670],{"className":443,"code":669,"language":445,"meta":446,"style":446},"relic build publish app 42\n",[425,671,672],{"__ignoreMap":446},[450,673,674,676,678,681,683],{"class":452,"line":453},[450,675,457],{"class":456},[450,677,461],{"class":460},[450,679,680],{"class":460}," publish",[450,682,467],{"class":460},[450,684,507],{"class":470},[421,686,687],{},"Forget a run without publishing it:",[441,689,691],{"className":443,"code":690,"language":445,"meta":446,"style":446},"relic build clean app 42\n",[425,692,693],{"__ignoreMap":446},[450,694,695,697,699,702,704],{"class":452,"line":453},[450,696,457],{"class":456},[450,698,461],{"class":460},[450,700,701],{"class":460}," clean",[450,703,467],{"class":460},[450,705,507],{"class":470},[416,707,709],{"id":708},"published-runs","Published runs",[421,711,712],{},"List the published builds, with the start of each one's latest run:",[441,714,716],{"className":443,"code":715,"language":445,"meta":446,"style":446},"relic build list\n",[425,717,718],{"__ignoreMap":446},[450,719,720,722,724],{"class":452,"line":453},[450,721,457],{"class":456},[450,723,461],{"class":460},[450,725,726],{"class":460}," list\n",[421,728,729],{},"List a build's runs, newest first:",[441,731,733],{"className":443,"code":732,"language":445,"meta":446,"style":446},"relic build list app\n",[425,734,735],{"__ignoreMap":446},[450,736,737,739,741,744],{"class":452,"line":453},[450,738,457],{"class":456},[450,740,461],{"class":460},[450,742,743],{"class":460}," list",[450,745,746],{"class":460}," app\n",[421,748,749,750,753,754,757],{},"Show a run: its agent, sources, and each module's artifacts and dependencies.\n",[425,751,752],{},"-o json"," or ",[425,755,756],{},"-o yaml"," prints every field, checksums included:",[441,759,761],{"className":443,"code":760,"language":445,"meta":446,"style":446},"relic build get app 42\n",[425,762,763],{"__ignoreMap":446},[450,764,765,767,769,772,774],{"class":452,"line":453},[450,766,457],{"class":456},[450,768,461],{"class":460},[450,770,771],{"class":460}," get",[450,773,467],{"class":460},[450,775,507],{"class":470},[421,777,778,779,782],{},"Builds of a project take ",[425,780,781],{},"--project",".",[416,784,786],{"id":785},"scanning","Scanning",[421,788,789,790,793],{},"Scan a run and wait for the result. The command exits with 1 if a violated\nrule fails builds, unless ",[425,791,792],{},"--fail=false",":",[441,795,797],{"className":443,"code":796,"language":445,"meta":446,"style":446},"relic build scan app 42\n",[425,798,799],{"__ignoreMap":446},[450,800,801,803,805,808,810],{"class":452,"line":453},[450,802,457],{"class":456},[450,804,461],{"class":460},[450,806,807],{"class":460}," scan",[450,809,467],{"class":460},[450,811,507],{"class":470},[421,813,814,815,818,819,822,823,782],{},"A dependency whose ID names a package (",[425,816,817],{},"name:version",", or\n",[425,820,821],{},"group:artifact:version"," for Maven) is scanned as that package; other\ndependencies and the artifacts count by their content. The policies of the\nwatches covering the build then apply. When no worker with Relic Scan has reported\nin the last 20 minutes (scanning is off, or those workers stopped), the command\nfails at once with ",[425,824,825],{},"unavailable",[416,827,829],{"id":828},"promoting-and-retention","Promoting and retention",[421,831,832],{},"Promote a run to a repository, set its status and add a property:",[441,834,836],{"className":443,"code":835,"language":445,"meta":446,"style":446},"relic build promote app 42 libs-release --status released --props release=1.0\n",[425,837,838],{"__ignoreMap":446},[450,839,840,842,844,847,849,851,854,857,860,863,866],{"class":452,"line":453},[450,841,457],{"class":456},[450,843,461],{"class":460},[450,845,846],{"class":460}," promote",[450,848,467],{"class":460},[450,850,471],{"class":470},[450,852,853],{"class":460}," libs-release",[450,855,856],{"class":474}," --status",[450,858,859],{"class":460}," released",[450,861,862],{"class":474}," --props",[450,864,865],{"class":460}," release=",[450,867,868],{"class":470},"1.0\n",[421,870,871,874,875,878,879,881],{},[425,872,873],{},"--copy"," copies instead of moving, ",[425,876,877],{},"--dependencies"," includes the dependencies\nand ",[425,880,665],{}," previews. A promotion with an error exits with 1.",[421,883,884,885,888,889,793],{},"Keep the 20 newest runs of ",[425,886,887],{},"app",", and never discard run ",[425,890,891],{},"1.0.0",[441,893,895],{"className":443,"code":894,"language":445,"meta":446,"style":446},"relic build discard app --max-runs 20 --keep 1.0.0\n",[425,896,897],{"__ignoreMap":446},[450,898,899,901,903,906,908,911,914,917],{"class":452,"line":453},[450,900,457],{"class":456},[450,902,461],{"class":460},[450,904,905],{"class":460}," discard",[450,907,467],{"class":460},[450,909,910],{"class":474}," --max-runs",[450,912,913],{"class":470}," 20",[450,915,916],{"class":474}," --keep",[450,918,919],{"class":470}," 1.0.0\n",[421,921,922],{},"Discard runs older than 90 days, with their artifacts:",[441,924,926],{"className":443,"code":925,"language":445,"meta":446,"style":446},"relic build discard app --max-days 90 --delete-artifacts\n",[425,927,928],{"__ignoreMap":446},[450,929,930,932,934,936,938,941,944],{"class":452,"line":453},[450,931,457],{"class":456},[450,933,461],{"class":460},[450,935,905],{"class":460},[450,937,467],{"class":460},[450,939,940],{"class":474}," --max-days",[450,942,943],{"class":470}," 90",[450,945,946],{"class":474}," --delete-artifacts\n",[416,948,950],{"id":949},"container-images","Container images",[421,952,953],{},"Copy an image to another repository:",[441,955,957],{"className":443,"code":956,"language":445,"meta":446,"style":446},"relic image promote docker-dev\u002Fteam\u002Fapp:1.4.0 docker-prod --copy\n",[425,958,959],{"__ignoreMap":446},[450,960,961,963,966,968,971,974],{"class":452,"line":453},[450,962,457],{"class":456},[450,964,965],{"class":460}," image",[450,967,846],{"class":460},[450,969,970],{"class":460}," docker-dev\u002Fteam\u002Fapp:1.4.0",[450,972,973],{"class":460}," docker-prod",[450,975,976],{"class":474}," --copy\n",[421,978,979,980,983],{},"Move an image under a new name and tag (",[425,981,982],{},"--all-tags"," moves every tag):",[441,985,987],{"className":443,"code":986,"language":445,"meta":446,"style":446},"relic image promote docker-dev\u002Fteam\u002Fapp:1.4.0 docker-prod\u002Frelease\u002Fapp:stable\n",[425,988,989],{"__ignoreMap":446},[450,990,991,993,995,997,999],{"class":452,"line":453},[450,992,457],{"class":456},[450,994,965],{"class":460},[450,996,846],{"class":460},[450,998,970],{"class":460},[450,1000,1001],{"class":460}," docker-prod\u002Frelease\u002Fapp:stable\n",[421,1003,1004],{},"Moving needs delete permission on the source, copying needs read; both need\nwrite permission on the target.",[1006,1007,1008],"style",{},"html pre.shiki code .seIyd, html code.shiki .seIyd{--shiki-light:#E2931D;--shiki-default:#953800;--shiki-dark:#FFA657}html pre.shiki code .sasMN, html code.shiki .sasMN{--shiki-light:#91B859;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html pre.shiki code .sIO_5, html code.shiki .sIO_5{--shiki-light:#F76D47;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html pre.shiki code .smky3, html code.shiki .smky3{--shiki-light:#91B859;--shiki-default:#0550AE;--shiki-dark:#79C0FF}html pre.shiki code .sX5mu, html code.shiki .sX5mu{--shiki-light:#39ADB5;--shiki-default:#0A3069;--shiki-dark:#A5D6FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sum78, html code.shiki .sum78{--shiki-light:#90A4AE;--shiki-default:#0550AE;--shiki-dark:#79C0FF}",{"title":446,"searchDepth":1010,"depth":1010,"links":1011},2,[1012,1013,1014,1015,1016],{"id":418,"depth":1010,"text":419},{"id":708,"depth":1010,"text":709},{"id":785,"depth":1010,"text":786},{"id":828,"depth":1010,"text":829},{"id":949,"depth":1010,"text":950},"Record, publish, list, scan, promote and clean up build runs, and promote container images.","md",null,{},true,{"title":362,"description":1017},"SBKH69VV7mfN9X-_K5cOZ6dIAYyu-k1Ye7_H9RSR6eY",[1025,1027],{"title":358,"path":359,"stem":360,"description":1026,"children":-1},"Check a server, read its audit log and usage, call the Relic API and manage access tokens.",{"title":366,"path":367,"stem":368,"description":1028,"children":-1},"Scan files, images, SBOMs and project dependencies, and manage decisions, quarantine and waivers.",1793857342299]