2020-03-23 15:35:58 +01:00
|
|
|
<p align="center">
|
|
|
|
|
<a href="https://www.scm-manager.org/">
|
|
|
|
|
<img alt="SCM-Manager" src="https://download.scm-manager.org/images/logo/scm-manager_logo.png" width="500" />
|
|
|
|
|
</a>
|
|
|
|
|
</p>
|
2014-01-06 11:35:46 +01:00
|
|
|
|
2020-03-23 15:35:58 +01:00
|
|
|
The easiest way to share and manage your Git, Mercurial and Subversion
|
2020-07-01 06:51:51 +02:00
|
|
|
repositories.
|
2020-03-23 15:35:58 +01:00
|
|
|
|
2020-03-31 17:28:30 +02:00
|
|
|
- Very easy installation
|
|
|
|
|
- No need to hack configuration files, SCM-Manager is completely
|
2020-06-30 08:01:06 +02:00
|
|
|
configurable from its Web-Interface
|
|
|
|
|
- No Apache and no database installation required
|
2020-03-31 17:28:30 +02:00
|
|
|
- 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 the MIT-License
|
2020-03-23 15:35:58 +01:00
|
|
|
|
2020-06-30 09:20:11 +02:00
|
|
|
This branch (`develop`) is for the development of SCM-Manager 2.x. If you are interested in the development of version
|
2020-06-30 08:01:06 +02:00
|
|
|
1.x, please checkout the branch `support/1.x`.
|
2020-03-23 15:35:58 +01:00
|
|
|
|
|
|
|
|
## News
|
|
|
|
|
|
2020-06-30 08:01:06 +02:00
|
|
|
All news regarding SCM-Manager will be published in our [blog](https://www.scm-manager.org/blog/).
|
2020-03-23 15:35:58 +01:00
|
|
|
|
2021-09-07 09:54:17 +02:00
|
|
|
## Support / Community
|
|
|
|
|
[Contact the SCM-Manager community support](https://scm-manager.org/support/)
|
2020-03-23 15:35:58 +01:00
|
|
|
|
|
|
|
|
## Documentation
|
2021-01-13 09:16:12 +01:00
|
|
|
|
2020-06-30 08:01:06 +02:00
|
|
|
You can find the complete documentation on our [homepage](https://www.scm-manager.org/docs/).
|
2020-03-23 15:35:58 +01:00
|
|
|
|
2021-01-13 09:16:12 +01:00
|
|
|
## Development
|
|
|
|
|
|
|
|
|
|
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, but the target runtime platform is still Java 8.
|
|
|
|
|
|
|
|
|
|
### Tasks
|
|
|
|
|
|
|
|
|
|
SCM-Manager uses [Gradle](https://gradle.org/) for the build.
|
|
|
|
|
The build itself is organized in tasks, the tasks can be executed with the gradle wrapper:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# on linux
|
|
|
|
|
./gradlew taskname
|
|
|
|
|
|
|
|
|
|
# on windows
|
|
|
|
|
gradlew.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 inclusive javadoc 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:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# on linux
|
|
|
|
|
./gradlew tasks
|
|
|
|
|
|
|
|
|
|
# on windows
|
|
|
|
|
gradlew.bat tasks
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Artifacts and reports
|
|
|
|
|
|
|
|
|
|
Artifacts and reports which are created from the tasks are stored in the build directory of each subproject.
|
|
|
|
|
|
|
|
|
|
### Debugging
|
|
|
|
|
|
|
|
|
|
If you want to debug the `run` 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.
|
|
|
|
|
|
2021-02-08 10:48:21 +01:00
|
|
|
### Distribution
|
|
|
|
|
|
|
|
|
|
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.
|
2021-02-08 13:21:28 +01:00
|
|
|
To build the distribution modules specify the `enablePackaging` property e.g.:
|
2021-02-08 10:48:21 +01:00
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# on unix
|
2021-02-08 13:21:28 +01:00
|
|
|
./gradlew -PenablePackaging distribution
|
2021-02-08 10:48:21 +01:00
|
|
|
|
|
|
|
|
# on windows
|
2021-02-08 13:21:28 +01:00
|
|
|
gradlew.bat -PenablePackaging distribution
|
2021-02-08 10:48:21 +01:00
|
|
|
```
|
|
|
|
|
|
2021-01-13 09:16:12 +01:00
|
|
|
### Properties for publishing
|
|
|
|
|
|
|
|
|
|
The publishing process requires the following properties for authentication and signing.
|
|
|
|
|
Those properties should be stored in `~/.gradle/gradle.properties`.
|
|
|
|
|
|
|
|
|
|
| Property | Description |
|
|
|
|
|
| -------- | ----------- |
|
|
|
|
|
| packagesScmManagerUsername | Username for [packages.scm-manager.org](https://packages.scm-manager.org) |
|
|
|
|
|
| packagesScmManagerPassword | Password for [packages.scm-manager.org](https://packages.scm-manager.org) |
|
|
|
|
|
| dockerUsername | Username for [Docker Hub](https://hub.docker.com/) |
|
|
|
|
|
| dockerPassword | Password or Api Token for [Docker Hub](https://hub.docker.com/) |
|
|
|
|
|
| gitHubApiToken | Api Token for [GitHub](https://github.com/) |
|
|
|
|
|
| npmEmail | Email of [NPM](https://www.npmjs.com/) account |
|
|
|
|
|
| npmToken | Access Token for [NPM](https://www.npmjs.com/) 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 |
|
|
|
|
|
|
2020-03-23 15:35:58 +01:00
|
|
|
## Need help?
|
|
|
|
|
|
2020-06-30 08:01:06 +02:00
|
|
|
Looking for more guidance? Full documentation lives on our [homepage](https://www.scm-manager.org/docs/) or the
|
|
|
|
|
dedicated pages for our [plugins](https://www.scm-manager.org/plugins/). Do you have further ideas or need support?
|
2020-03-23 15:35:58 +01:00
|
|
|
|
2020-06-30 08:01:06 +02:00
|
|
|
- **Community Support** - Contact the SCM-Manager support team for questions about SCM-Manager, to report bugs or to
|
|
|
|
|
request features through the official channels. [Find more about this here](https://www.scm-manager.org/support/).
|
2020-03-23 15:35:58 +01:00
|
|
|
|
2020-06-30 08:01:06 +02:00
|
|
|
- **Enterprise Support** - Do you require support with the integration of SCM-Manager into your processes, with the
|
|
|
|
|
customization 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 to
|
|
|
|
|
give you a quote.** [Request Enterprise Support](https://cloudogu.com/en/scm-manager-enterprise/).
|