Git Product home page Git Product logo

shaoranlaos / scm-manager Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scm-manager/scm-manager

0.0 0.0 0.0 127.41 MB

The easiest way to share and manage your Git, Mercurial and Subversion repositories over http.

Home Page: https://scm-manager.org

License: MIT License

Dockerfile 0.03% Java 79.36% TypeScript 17.77% HTML 1.02% Python 0.25% Shell 0.18% JavaScript 0.49% Go 0.01% FreeMarker 0.04% Groovy 0.48% SCSS 0.17% CSS 0.03% Gherkin 0.04% Mustache 0.14%

scm-manager's Introduction

SCM-Manager

The easiest way to share and manage your Git, Mercurial and Subversion repositories.

  • Very easy installation
  • No need to hack configuration files, SCM-Manager is completely configurable 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 the MIT-License

This branch (develop) is for the development of SCM-Manager 2.x. If you are interested in the development of version 1.x, please checkout the branch support/1.x.

News

All news regarding SCM-Manager will be published in our blog.

Support / Community

Contact the SCM-Manager community support

Documentation

You can find the complete documentation on our homepage.

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 for the build. The build itself is organized in tasks, the tasks can be executed with the gradle wrapper:

# 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:

# 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.

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. To build the distribution modules specify the enablePackaging property e.g.:

# on unix
./gradlew -PenablePackaging distribution

# on windows
gradlew.bat -PenablePackaging distribution

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
packagesScmManagerPassword Password for packages.scm-manager.org
dockerUsername Username for Docker Hub
dockerPassword Password or Api Token for Docker Hub
gitHubApiToken Api Token for GitHub
npmEmail Email of NPM account
npmToken Access Token for NPM 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

Need help?

Looking for more guidance? Full documentation lives on our homepage or the dedicated pages for our plugins. 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 to request 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 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.

scm-manager's People

Contributors

cesmarvin avatar corux avatar davidmc24 avatar dependabot[bot] avatar dervomsee avatar dhuchthausen avatar eheimbuch avatar exanimoso avatar fscholdei avatar galinette-34 avatar garsanangel avatar gstefanik avatar ischindler avatar janikakefel avatar mbehlendorf avatar mharbison72 avatar mohamedkarray avatar msuewer avatar pfeuffer avatar phil-ah avatar pilopa avatar pmarkiewka avatar schnatterer avatar schristann avatar sdorra avatar seeraven avatar snyk-bot avatar thorsten-l avatar viraptor avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.