Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/damienaicheh/azdevops-cli
https://github.com/damienaicheh/azdevops-cli
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/damienaicheh/azdevops-cli
- Owner: damienaicheh
- License: mit
- Created: 2022-11-15T07:45:53.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-03-07T08:52:25.000Z (almost 2 years ago)
- Last Synced: 2024-10-12T23:08:07.754Z (3 months ago)
- Language: Python
- Size: 157 KB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AzDevOps CLI
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://github.com/gwendallg/rsql4net/blob/develop/LICENSE) [![Pypi](https://img.shields.io/pypi/v/PACKAGE?label=azdevops-cli)]()
## I.Continuous integration
| Branch | Build | Quality Gate |
| ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
| main | [![Build Status](https://dev.azure.com/damienaicheh0990/azdevops-cli/_apis/build/status/damienaicheh.azdevops-cli?branchName=main)](https://dev.azure.com/damienaicheh0990/azdevops-cli/_build/latest?definitionId=95&branchName=main) | |
| develop | [![Build Status](https://dev.azure.com/damienaicheh0990/azdevops-cli/_apis/build/status/damienaicheh.azdevops-cli?branchName=develop)](https://dev.azure.com/damienaicheh0990/azdevops-cli/_build/latest?definitionId=95&branchName=develop) | |## II.Introduction
This project is used to update all selected repositories in one single script define by a `config.yml` file.
The python script will automatically clone the repositories, modify it and propose a pull request on each repository inside Azure DevOps.## III. Getting Started
Create a dev environment for the project:
```sh
python3 -m venv .venv
```Activate the dev environment for Linux:
```sh
source .venv/bin/activate
```Activate the dev environment for Windows:
```sh
.\.venv\Scripts\activate
```Install python packages for the project:
```sh
pip install -r requirements.txt
```Save the packages used in the project into the `requirements.txt`:
```sh
pip freeze > requirements.txt
```Export credentials as environment variable to be able to run the API calls:
```
export AZDEVOPS_ORGANIZATION_URL=''
export AZDEVOPS_PAT_TOKEN=''
```## IV - Models generation
Transform the `config.yml` into json with this website for instance:
https://jsonformatter.org/yaml-to-jsonThen copy the generated json and paste it inside this other website:
https://app.quicktype.io/Choose default settings with the Python language.
## V - Install locally for testing only
```
python3 -m pip install --editable .
```## VI - Run the CLI
```
azdevops repo-updater run --configuration-file /config.yml -o
``````
azdevops release-manager changelog -p -o
```## VII - Unit tests
### Run unit tests:
```
python3 -m unittest
```or
```
coverage run -m unittest discover
```### Generate covrage locally
```
coverage report
```### Generate a changelog
```
azdevops release-manager changelog (-p ) (-o )
```Using Docker:
```shell
docker run -v $(Build.SourcesDirectory):/app \
-t aichehda/azdevops-cli:latest \
release-manager changelog \
(-p ) \
(-o ) \
```### Generate a summary
```
azdevops release-manager summary -pn (-r )
```azdevops release-manager summary -pn 'MyProject' -r '^digital(.*)_apply'
Using Docker:
```shell
docker run -v $(Build.SourcesDirectory):/app \
-e AZDEVOPS_ORGANIZATION_URL=$AZDEVOPS_ORGANIZATION_URL \
-e AZDEVOPS_PAT_TOKEN=$AZDEVOPS_PAT_TOKEN \
-t aichehda/azdevops-cli:latest \
release-manager summary \
-r '^digital(.*)_apply' \
-pn MyProject \
(-p ) \
(-o ) \
```### Generate manifest
```
azdevops release-manager manifest -an
```Using Docker on Azure DevOps:
```shell
docker run -v $(Build.SourcesDirectory):/app \
-e BUILD_DEFINITIONNAME=$BUILD_DEFINITIONNAME \
-e BUILD_BUILDID=$BUILD_BUILDID \
-e BUILD_BUILDNUMBER=$BUILD_BUILDNUMBER \
-e BUILD_SOURCEBRANCHNAME=$BUILD_SOURCEBRANCHNAME \
-e BUILD_REPOSITORY_NAME=$BUILD_REPOSITORY_NAME \
-t aichehda/azdevops-cli:latest \
release-manager manifest \
-an my_app
(-p ) \
(-o ) \
```