{"id":32588536,"url":"https://github.com/robertstettner/drone-mvn-auth","last_synced_at":"2025-10-29T23:59:02.515Z","repository":{"id":47995101,"uuid":"97956331","full_name":"robertstettner/drone-mvn-auth","owner":"robertstettner","description":"Drone plugin for generating the `settings.xml` with the server authentication for a Maven repository.","archived":false,"fork":false,"pushed_at":"2022-12-30T18:14:29.000Z","size":356,"stargazers_count":5,"open_issues_count":11,"forks_count":13,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-08-15T03:11:20.310Z","etag":null,"topics":["authentication","drone-ci","maven","plugin"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robertstettner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-07-21T14:26:36.000Z","updated_at":"2023-07-07T08:05:14.000Z","dependencies_parsed_at":"2023-01-31T12:40:19.192Z","dependency_job_id":null,"html_url":"https://github.com/robertstettner/drone-mvn-auth","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"purl":"pkg:github/robertstettner/drone-mvn-auth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertstettner%2Fdrone-mvn-auth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertstettner%2Fdrone-mvn-auth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertstettner%2Fdrone-mvn-auth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertstettner%2Fdrone-mvn-auth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robertstettner","download_url":"https://codeload.github.com/robertstettner/drone-mvn-auth/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertstettner%2Fdrone-mvn-auth/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281719938,"owners_count":26549881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-29T02:00:06.901Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","drone-ci","maven","plugin"],"created_at":"2025-10-29T23:59:00.176Z","updated_at":"2025-10-29T23:59:02.511Z","avatar_url":"https://github.com/robertstettner.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# drone-mvn-auth\n[![Build Status](https://travis-ci.org/robertstettner/drone-mvn-auth.svg?branch=master)](https://travis-ci.org/robertstettner/drone-mvn-auth)\n[![Coverage Status](https://coveralls.io/repos/github/robertstettner/drone-mvn-auth/badge.svg?branch=master)](https://coveralls.io/github/robertstettner/drone-mvn-auth?branch=master)\n\nDrone plugin for generating the `settings.xml` with the server authentication for a Maven repository.\n\nPlease note that dependencies are saved in the `.m2` directory.\n\n## Configuration\n\nThe following parameters are used to configure the plugin:\n\n- `servers[]`: the servers\n- `servers[].id`: the server id\n- `servers[].username`: the server username\n- `servers[].password`: the server password\n- `profiles[]`: the profiles\n- `profiles[].id`: the profile id\n- `profiles[].repositories[]`: the profile's repositories\n- `profiles[].repositories[].id`: the profile's repository id\n- `profiles[].repositories[].name`: the profile's repository name\n- `profiles[].repositories[].url`: the profile's repository url\n- `profiles[].repositories[].layout`: the profile's repository layout\n- `profiles[].plugin_repositories[]`: the profile's plugin repositories\n- `profiles[].plugin_repositories[].id`: the profile's plugin repository id\n- `profiles[].plugin_repositories[].name`: the profile's plugin repository name\n- `profiles[].plugin_repositories[].url`: the profile's plugin repository url\n- `profiles[].plugin_repositories[].layout`: the profile's plugin repository layout\n- `active_profiles[]`: the active profiles\n- `debug`: debug mode (optional: set to `true` for verbose messages)\n\n### Secrets mode\n\nThe secrets mode allows for usage of Drone secrets for parameters. For every parameter, the secret prefix to use is `maven_`. For example, for storing the `servers` parameter as a secret, the key would be `maven_servers`. The value for that parameter would still need to be serialised JSON. \n\n### Drone configuration example\n\n```yaml\npipeline:\n  build:\n    image: maven:3-alpine\n    commands:\n      - mvn install -gs settings.xml\n      \n  authenticate:\n    image: robertstettner/drone-mvn-auth\n    pull: true\n    servers:\n      - id: release\n        username: ${NEXUS_USERNAME}\n        password: ${NEXUS_PASSWORD}\n      - id: snapshot\n        username: ${NEXUS_USERNAME}\n        password: ${NEXUS_PASSWORD}\n    profiles:\n      - id: my-profile\n        repositories:\n          - id: myRepo\n            name: Repository for my libraries\n            url: http://maven.my.com\n            layout: default\n        plugin_repositories:\n          - id: myRepo\n            name: Repository for my libraries\n            url: http://maven.my.com\n            layout: default\n    active_profiles:\n      - my-profile\n              \n    \n  deploy:\n    image: maven:3-alpine\n    commands:\n      - mvn clean deploy -gs settings.xml\n```\n\n### Drone configuration example with secrets\n\nThe example below shows how to use the plugin with secrets.\nAn example of the `servers` parameter value for the secret `maven_servers` could be: `[{\"id\": \"release\",\"username\":\"foo\",\"password\":\"bar\"}]`\n\n```yaml\npipeline:\n  build:\n    image: maven:3-alpine\n    commands:\n      - mvn install -gs settings.xml\n      \n  authenticate:\n    image: robertstettner/drone-mvn-auth\n    pull: true\n    secrets: [ maven_servers ]\n    profiles:\n      - id: my-profile\n        repositories:\n          - id: myRepo\n            name: Repository for my libraries\n            url: http://maven.my.com\n            layout: default\n        plugin_repositories:\n          - id: myRepo\n            name: Repository for my libraries\n            url: http://maven.my.com\n            layout: default\n    active_profiles:\n      - my-profile\n              \n    \n  deploy:\n    image: maven:3-alpine\n    commands:\n      - mvn clean deploy -gs settings.xml\n```\n\n## License\n\nMIT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobertstettner%2Fdrone-mvn-auth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobertstettner%2Fdrone-mvn-auth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobertstettner%2Fdrone-mvn-auth/lists"}