Skip to main content

Upload to Nexus, Upload files to hooks, Modify version number, Sync to GitLab type repository

Project description

Upload to Nexus, Upload files to hooks, Modify version number, Sync to GitLab type repository, Generate template files, Extract commands from Git commit messages, Create SonarQube projects

Installation

You can download and install the latest version of this software from the Python package index (PyPI) as follows::

pip install --upgrade artify

Usage

python -m artify --help=

python -m artify --command <command> [Options]

or

python -m artify -c <command> [Options]

Params

command         nexus, syncrepo, deploy, deltav, create

Upload to Nexus

python -m artify -c nexus -f <format> -n <artifact_name> -h <nexus_repository_base_url>

Important

Artifact name should include artifact id and version number. E.g example-ws-1.0.0.war

Params

-f, format         Nexus upload format. Types supported: raw, npm, maven

Environment variables need

NEXUS_GROUP_ID           Group ID of the project e.g com.testing.testapplication NEXUS_USERNAME         Username of nexus user that will upload artifact NExUS_PASSWORD         Password of nexus user that will upload artifact


Deploy App using custom AWX host

python -m artify -c deploy -f <manifest_file.yml> -h <awx_host>

Environment variables need

DEPLOY_TOKEN         Token used to deploy application

Change Package version

Artify uses semantic version 2.0.

python -m artify -c deltav -t patch -a npm

Params

-a, --archtype         npm, gradle, flutter, maven, dotnet

-t, --type                 major, minor, patch, prerelease

Optional Params For Prerelease version change --preValue Prerelease version value e.g SNAPHOT, RELEASE, BUILD, beta, alpa

Push changes to GitLab repository

Recommendation: You can create a feature branch, then perform your code changes before pushing changes to remote

python -m artify -c syncrepo -m <message> -b 

Params

-c, --message         Commit message -b, --branch           Optional, by default, it will push to 'develop' branch

Environment variables need

PRIVATE_TOKEN, popularly known as personal access token is needed to perform the push. This can be created by following this guide: Creating a personal access token

N.B A commit is performed automatically followed by a push

Generate Template files

Generate template .gitlab-ci.yml file

python -m artify -c create -f gitlabci

Geneate template manifest.yml file

python -m artify -c create -f manifest

Params -f, --file         File template to generate

Supported files

  • .gitlab-ci.yml
  • manifest.yml

Extract commands from GIT message

python -m artify -c extract

N.B If manifest.yml file is present, it will update version number in that file also.

Parameters

  • version/deltav - specifies type of version change e.g "version": "patch", "deltav": "patch", "version": "minor"

  • archtype - specifies project architecture e.g "archtype": "npm", "archtype": "gradle", "archtype": "flutter"

  • branch - speficies branch you want to push changes. If branch is not specified, it push changes to 'develop' branch by default

Sample commit messages

  1. Added login functionality {"version": "patch", "archtype": "npm", "branch": "release-1.0.0" } - Updates the patch version of npm type project, and push to branch called 'release-1.0.0' branch

  2. Added search functionality {"deltav": "major", "archtype": "gradle" } - Updates the major version of a java project with Gradle build tool

  3. Added edit functionality {"version": "minor", "a": "flutter" } - Updates the minor version of a flutter project


Initialize SonarQube project

python -m artify -c initialize -h <SonarQube_base_url> -u <username> -p <password> -a <arch_type/os> -l <language>

Sample command

python -m artify -c initialize -h <SonarQube_base_url> -u <username> -p <password> -l java -a gradle

python -m artify -c initialize -h <SonarQube_base_url> -u <username> -p <password> -l java -a maven


For Windows Runner, Other (JS, TS, Go, Python, PHP, ...)

python -m artify -c initialize -h <SonarQube_base_url> -u -p -l other -a windows


For Linux/macOS runner, Other (JS, TS, Go, Python, PHP, ...)

python -m artify -c initialize -h <SonarQube_base_url> -u -p -l other -a linux


Parameters

-l, --language => Possible values: JS, TS, Go, Python, PHP, other)

-a, --archtype => Architecture, OS (depends on usage)

-n, --projectname => Project name.

-k, --projectkey => Project key. This should be a unique identifier for project.

-u, --username => Username for SonarQube.

-p, --password => Password for SonarQube. The user should be able to create projects.

N.B. The user should have the permission to create/modify projects.

python -m artify -c initialize -h <SonarQube_base_url> -u -p -a php

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

artify-1.7.2.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

artify-1.7.2-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file artify-1.7.2.tar.gz.

File metadata

  • Download URL: artify-1.7.2.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for artify-1.7.2.tar.gz
Algorithm Hash digest
SHA256 020b8c158502a149f22aa0f54c278ceee577dd99c7b185a63f9dbb122b42fc74
MD5 e4f53fa84e3e9a560672180f11a23bb8
BLAKE2b-256 3628de40b0beb5179bbbc9e732747eefbea2589418ac20cc66deb9f951bd1ebc

See more details on using hashes here.

File details

Details for the file artify-1.7.2-py3-none-any.whl.

File metadata

  • Download URL: artify-1.7.2-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for artify-1.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 76f9fbb2623833558621b4bb65667d42bdd2759024abc3fa4e99907b49d9dff6
MD5 d17c541bcd4e4685634fb7b12af75aa6
BLAKE2b-256 80698fa3210ce93990d344a5797129ae9a7092ada3d289c2c4f6e6b85af11802

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page