- Notifications
You must be signed in to change notification settings - Fork33
The easiest way to share and manage your Git, Mercurial and Subversion repositories over http.
License
AGPL-3.0, Unknown licenses found
Licenses found
scm-manager/scm-manager
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The easiest way to share and manage your Git, Mercurial and Subversionrepositories.
- Very easy installation
- No need to hack configuration files, SCM-Manager is completelyconfigurable from its Web-Interface
- No Apache and no database installation required
- Central user, group and permission management
- Out of the box support for Git, Mercurial and Subversion
- Full RESTFul Web Service API (JSON and XML)
- Rich User Interface
- Simple Plugin API
- Useful plugins available
- Licensed under AGPL-3.0-only
This branch (develop
) is for the development of SCM-Manager. If you are interested in the development of version1.x, please checkout the branchsupport/1.x
.
All news regarding SCM-Manager will be published in ourblog.
Contact the SCM-Manager community support
You can find the complete documentation on ourhomepage.
The build of SCM-Manager requires the following installed packages:
- Git
- JDK 11
- Mercurial (required for tests)
- Docker (required for the docker package)
The build of SCM-Manager requires Java 11.
SCM-Manager usesGradle for the build.The build itself is organized in tasks, the tasks can be executed with the gradle wrapper:
# on *nix./gradlew taskname# on windowsgradlew.bat taskname
This following tables describes some high level tasks,which should cover most of the daily work.
Name | Description |
---|---|
run | Starts an SCM-Manager with enabled livereload for the ui |
build | Executes all checks, tests and builds the smp inclusivejavadoc and source jar |
distribution | Builds all distribution packages of scm-packaging |
check | Executes all registered checks and tests |
test | Run all unit tests |
integrationTest | Run all integration tests of scm-it |
clean | Deletes the build directory |
The next table defines a few more tasks which are more relevant for CI servers.
Name | Description |
---|---|
publish | Publishes all artifacts and packages (required properties, see section 'Properties for publishing') |
sonarqube | Executes a SonarQube analysis |
setVersion | Sets the version to a new version |
setVersionToNextSnapshot | Sets the version to the next snapshot version |
There many more tasks, which are executed as part of the high level tasks,and it should rarely be necessary to call them individually.To see the full list of available tasks, execute the following command:
# on *nix./gradlew tasks# on windowsgradlew.bat tasks
Dependencies and their versions are configured in thegradle/dependencies.gradle
.Versions of dependencies can be specified as exact version or as arange of versions.In order to keep the build consistent and reproducible, we usegradle dependency locking.Whenever a dependency was added, changed or removed the lock files must be refreshed e.g.:
# on *nix./gradlew resolveAndLockAll --write-locks# on windowsgradlew.bat resolveAndLockAll --write-locks
Artifacts and reports which are created from the tasks are stored in the build directory of each subproject.
If you want to debug therun
task of SCM-Manager.You can provide the--debug-jvm
option, which starts the SCM-Manager jvm in debug mode.Then you can attach a debugger on port 5005.The port can be changed by using the--debug-port
e.g.:--debug-port=5006
.If you want to wait until a debugger is attached, before SCM-Manager starts you can use the--debug-wait
option.
SCM-Manager provides various modules to deploy SCM-Manager on differnt platforms (e.g. Docker, Helm, RPM, DEB, Windows).Those modules are not build by default.To build the distribution modules specify theenablePackaging
property e.g.:
# on *nix./gradlew -PenablePackaging distribution# on windowsgradlew.bat -PenablePackaging distribution
The command above will refresh the lock files of all sub projects and all configurations.
The publishing process requires the following properties for authentication and signing.Those properties should be stored in~/.gradle/gradle.properties
.
Property | Description |
---|---|
packagesScmManagerUsername | Username forpackages.scm-manager.org |
packagesScmManagerPassword | Password forpackages.scm-manager.org |
dockerUsername | Username forDocker Hub |
dockerPassword | Password or Api Token forDocker Hub |
gitHubApiToken | Api Token forGitHub |
npmEmail | Email ofNPM account |
npmToken | Access Token forNPM account |
signing.keyId | Id of gpg secret key for signing |
signing.password | Passphrase of gpg secret key |
signing.secretKeyRingFile | Path to gpg secret key ring file |
Looking for more guidance? Full documentation lives on ourhomepage or thededicated pages for ourplugins. Do you have further ideas or need support?
Community Support - Contact the SCM-Manager support team for questions about SCM-Manager, to report bugs or torequest features through the official channels.Find more about this here.
Enterprise Support - Do you require support with the integration of SCM-Manager into your processes, with thecustomization of the tool or simply a service level agreement (SLA)?Contact our development partner Cloudogu!Their team is looking forward to discussing your individual requirements with you and will be more than happy togive you a quote.Request Enterprise Support.
About
The easiest way to share and manage your Git, Mercurial and Subversion repositories over http.
Topics
Resources
License
AGPL-3.0, Unknown licenses found
Licenses found
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.