Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mathix420/pylone

Simple, lightweight, AWS serverless CD framework.
https://github.com/mathix420/pylone

aws-lambda cicd continuous-deployment lambda lambda-functions pylone python3

Last synced: about 2 months ago
JSON representation

Simple, lightweight, AWS serverless CD framework.

Awesome Lists containing this project

README

        

Pylone icon

# PYLONE

**Python CD framework**

[![Pypi](https://badgen.net/pypi/v/pylone)](https://pypi.org/project/pylone/)
[![Docker Pulls](https://badgen.net/docker/pulls/plsr/pylone?icon=docker&label=pulls)](https://hub.docker.com/r/plsr/pylone/)

[![wakatime](https://wakatime.com/badge/github/mathix420/pylone.svg)](https://wakatime.com/badge/github/mathix420/pylone)
[![Maintainability](https://api.codeclimate.com/v1/badges/fc078176e896556db324/maintainability)](https://codeclimate.com/github/mathix420/pylone/maintainability)

# Features

- Publish, update and delete Lambdas
- Publish, update and delete Layers
- [Doppler](https://doppler.com) integration
- Simple and light wieght
- Multi stages lambdas
- Before/after deploy hooks

# Install

```bash
pip install pylone
```

# Usage

## Pylone usage

```bash
pylone -h
```

# Template reference

## `stages` global parameter

You can set the `stages` parameter to have a multistage project
```yaml
stages:
- dev # first one is used as default stage
- prod # all other stages are more advanced stages
```

## `source` parameter

You can use the `source` parameter to force a directory to be used as source
```yaml
source: ./bin
```

## `before-script` parameter

You can use the `before-script` parameter to execute a bash script before processing an entity
```yaml
before-script: ./script.sh
# OR
before-script: "echo 'Starting ...'"
```

## `after-script` parameter

Similar as `before-script` but launch script at the end of process
```yaml
after-script: ./script.sh
# OR
after-script: "echo 'END of process'"
```

## `bucket-name` parameter

> Default value: `pylone-bucket`

Allows you to choose the bucket name where pylone will upload zip files.
```yaml
bucket-name: tmp-pylone-files
```

# DX

## VSCode config

`.vscode/settings.json`
```json
{
"yaml.customTags": [
"!env scalar"
]
}
```

# Dev Guide

## Deploy new version

1. Bump version in [`setup.py`](/setup.py)
2. Commit and push to master
3. Create a new github release + tag using this format `vX.X.X`
4. Github Action will take care of the rest!