diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 910436c..c4a361b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,7 +21,7 @@ release: - linux - docker only: - - master + - release script: - python gitlabreleaseuploader.py -p $PRIVATE_TOKEN -i $CI_PROJECT_ID -u $CI_PROJECT_URL -f gitlabreleaseuploader.py -F info.json -T $CI_COMMIT_REF_NAME diff --git a/readme.md b/readme.md index 9b0eda7..5cd28f1 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,4 @@ -Release Uploader for Gitlab -=========================== +# Release Uploader for Gitlab Creating releases on Gitlab seems to work only via the REST API. @@ -10,3 +9,76 @@ release referring to both the tag and the file. It supports commandline options and an input file, adjusted to be used in Gitlab CI scripts. + +## Usage + + wn@tron:~/workspace-python/gitlabreleaseuploader [master ≡]$ ./gitlabreleaseuploader.py -h + usage: gitlabreleaseuploader.py [-h] --privateToken PRIVATETOKEN --projectId + PROJECTID --projectUrl PROJECTURL --file FILE + [--releaseName RELEASENAME] + [--releaseTag RELEASETAG] + [--releaseTagTarget RELEASETAGTARGET] + [--createReleaseTag] + [--description DESCRIPTION] + [--releaseInfoFile RELEASEINFOFILE] + [--instanceUrl INSTANCEURL] [--verbose] + + Gitlab Release Uploader + + optional arguments: + -h, --help show this help message and exit + --privateToken PRIVATETOKEN, -p PRIVATETOKEN + Private token to access Gitlab + --projectId PROJECTID, -i PROJECTID + ProjectID of the related project + --projectUrl PROJECTURL, -u PROJECTURL + URL of the related project at Gitlab + --file FILE, -f FILE File to be released + --releaseName RELEASENAME, -n RELEASENAME + Name of the release + --releaseTag RELEASETAG, -t RELEASETAG + Tag of the release in the repo + --releaseTagTarget RELEASETAGTARGET, -T RELEASETAGTARGET + Commit or branch the tag should point to + --createReleaseTag, -c + Shall the release be created here + --description DESCRIPTION, -d DESCRIPTION + Description of the release + --releaseInfoFile RELEASEINFOFILE, -F RELEASEINFOFILE + File containing JSON object with release info (release + tag, create release tag, description + --instanceUrl INSTANCEURL, -I INSTANCEURL + URL of your gitlab instance + --verbose, -v verbose output + wn@tron:~/workspace-python/gitlabreleaseuploader [master ≡]$ + + + + +### Without release info file: + + gitlabreleaseuploader.py -p PRIVATE_TOKEN -i PROJECT_ID -u PROJECT_URL + -f FILE_TO_BE_RELEASED -n RELEASE_NAME + -t RELEASE_TAG -T RELEASE_TAG_TARGET -c + -d RELEASE_DESCRIPTION -I INSTANCE_URL + + +### With release info file: + +Release Info File: + { + "releaseTag": "v1.5", + "createReleaseTag": "true", + "releaseName": "Sixth release of the uploader", + "description": "Now with CI script and automatic release upload (he, eat your own dogfood)" + } + +Command: + gitlabreleaseuploader.py -p PRIVATE_TOKEN -i PROJECT_ID -u PROJECT_URL + -f FILE_TO_BE_RELEASED -F RELEASE_INFO_FILE + + + + + +