Simple artifact repository written in Go.
go get github.com/trubeck/gopository
go install github.com/trubeck/gopository
-
Create folder where all artifacts should be stored. This is the
base-path
-
Create folders for each package you want to deliver. Note: The name of the folders will be the names of the packages (
package-name
) -
The file name of the artifacts has to be the following
<name>_<major>.<minor>.<patch>.<file ending>
e.g.:
MySoftware_1.1.0.jar
To prevent problems, please do not contain dots or slashes in the filename before the version
-
Copy the artifacts into the corresponding folders to get the following structure
<base-path> |- SoftwareOne | |- SoftwareOne_0.0.1.exe | |- SoftwareOne_0.2.3.exe | |- SoftwareTwo |- SoftwareTwo_1.2.1.jar |- SoftwareTwo_2.3.5.jar
-
Start the gopository
gopository --path "<base-path>" --host "<host>" --port "<port>"
The Host defaults to
localhost
and the post to8080
-
If you added new artifact, restart the gorepository.
Get a List of all package names:
http://<host>:<port>/packages
Get a List of all packages and available versions:
http://<host>:<port>/versions
Download latest artifact of a package
http://<host>:<port>/download/<package-name>/latest
Download specific version of a package
http://<host>:<port>/download/<package-name>/1-1-0
- Comment code
- Authentication
- Auto-reload if a new artifact is added
- Web-GUI for up- and download