Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/paulo-lopes-estevao/ci-generator
generate CI configuration files
https://github.com/paulo-lopes-estevao/ci-generator
cicd cli python
Last synced: about 2 months ago
JSON representation
generate CI configuration files
- Host: GitHub
- URL: https://github.com/paulo-lopes-estevao/ci-generator
- Owner: Paulo-Lopes-Estevao
- License: mit
- Created: 2023-10-31T03:36:36.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-07-15T22:48:06.000Z (6 months ago)
- Last Synced: 2024-11-09T21:44:13.000Z (2 months ago)
- Topics: cicd, cli, python
- Language: Python
- Homepage: https://pypi.org/project/ci-generator/
- Size: 71.3 KB
- Stars: 15
- Watchers: 1
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ci generator
CI generator is a tool to generate CI configuration files for your project.
It's a command line tool that can be used to generate CI configuration files for your project. It's written in Python and uses templates to generate the files.Possible CI systems are:
* [x] GitHub Actions
* [ ] Jenkins
* [ ] Docker
* [ ] Gitlab CIThey can integrate with the following tools:
- SonarQube
- SonarCloud
- Test coverage
- DockerFile
- DockerCompose# Index
* [ci generator](#ci-generator)
* [Installation](#installation)
* [Usage](#usage)
* [GitHub Actions](#github-actions)
* [Github Actions commands available](#github-actions-commands-available)
* [Go](#go)
* [NodeJS](#nodejs)
* [Commands not yet available](#commands-not-yet-available)
* [Jenkins](#jenkins)
* [Docker](#docker)
* [Gitlab CI](#gitlab-ci)
* [Docker Composer](#docker-composer)
* [Python](#python)
* [Installation - Development](#installation--development)
* [Docker [dev]](#docker-dev)
* [Docker Composer [dev]](#docker-composer-dev)
* [Python [dev]](#python-dev)
* [Contributing](#contributing)
* [License](#license)## Installation
Multiplatform Linux, Windows, MacOs
```bash
pip install ci-generator
```## Usage
```bash
cigen --help
```### Github Actions
```bash
cigen github-actions --help
```output:
```bash
Usage: cigen [OPTIONS] COMMAND [ARGS]...ciGen is a Continuous Integration Generator
Options:
--help Show this message and exit.Commands:
docker This is the main command for the Docker
github-action This is the main command for the GitHub Actions
gitlab This is the main command for the GitLab
jenkins This is the main command for the Jenkins```
#### [[EXEMPLES OF USAGE]](examples) <- click here
github-actions subcommand can be used to generate Build and Test Github Actions configuration files.
### Github Actions commands available
##### **Go**
github-actions Golang example:
```bash
cigen github-actions go -n myproject -b push main -a 1 -v 1.21.1
```[[EXEMPLES OF USAGE GOLANG]](examples/github_action/golang.md) <- click here
##### **NodeJS**
github-actions NodeJS example:
```bash
cigen github-actions nodejs -n myproject -b push main -a 1 -v 14.17.3
```[[EXEMPLES OF USAGE NODEJS]](examples/github_action/nodejs.md) <- click here
### Commands not yet available
### Jenkins
```bash
cigen jenkins --help
```jenkins subcommand can be used to generate Build and Test Jenkins configuration files.
jenkins Golang example:
```bash
cigen jenkins go -n myproject -b push main -a 1 -v 1.21.1
```jenkins Python example:
```bash
cigen jenkins python -n myproject -b push main -a 1 -v 3.9.6
```### Docker
```bash
cigen docker --help
```docker subcommand can be used to generate Docker configuration files.
docker example:
```bash
cigen docker -n dockerfile -i golang -v 1.21.1 -s multi
```### Gitlab CI
```bash
cigen gitlab-ci --help
```gitlab-ci subcommand can be used to generate Build and Test Gitlab CI configuration files.
gitlab-ci Golang example:
```bash
cigen gitlab-ci go -n myproject -b push main -a 1 -v 1.21.1
```gitlab-ci Python example:
```bash
cigen gitlab-ci python -n myproject -b push main -a 1 -v 3.9.6
```
## Installation - Development
### Docker [dev]
```bash
docker build -t ci-generator .
``````bash
docker run -it --rm ci-generator cigen --help
```### Docker Composer [dev]
```bash
docker-compose up -d
``````bash
docker-compose run --rm ci-generator cigen --help
```### Python [dev]
```bash
python3 -m venv venv
``````bash
source venv/bin/activate
``````bash
pip install -r requirements.txt
``````bash
pip install -e .
``````bash
cigen --help
```**NOTE**: ci generator is not yet fully stable, so it's not recommended to use it in production. It's still in development.
## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
## License
MIT