Skip to content
/ cimme Public

Declarative, YAML formatted, immutable, container based CI/CD engine with Python and Docker

License

Notifications You must be signed in to change notification settings

gurayops/cimme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cimme

** It is not ready to be used right now. Consider using it only for testing. **

Declarative, YAML formatted, immutable, container based CI/CD engine with Python and Docker

Cimme has started as an example CI/CD engine to create a demo with Docker, Python, and docker-py module. Currently it is integrated with Gitea.

Install

Running Cimme inside a Docker container, and providing Docker socket is enough to get started:

docker run -d -p 8000:8000 --name cimme -v /var/run/docker.sock:/var/run/docker.sock guray/cimme:0.1

Just add Gitea to its IP:8000 as a webhook and you are ready.

Example Usage

YAML formatted pipelines can be used to declare steps. Example:

---
type: pipeline
steps:
  - name: Clone repo
    environment: peptrnet/git:latest
    params:
      REPO_URL: https://github.com/gurayyildirim/rastgelesayi.git
  - name: Check whether requirements installable
    environment: python:3-alpine
    command: pip install -r requirements.txt
  - name: Build Docker image
    environment: docker:stable
    dockersocket: true
    command: docker build -t 127.0.0.1:5000/guray/random:{{ builtins.COMMIT_HASH }} .
  - name: Push Docker image
    environment: docker:stable
    dockersocket: true
    command: docker push 127.0.0.1:5000/guray/random:{{ builtins.COMMIT_HASH }}

For now, the pipeline should be defined in the code. It will be able to read it from repo and config files in the future.

More features will likely be added soon.

About

Declarative, YAML formatted, immutable, container based CI/CD engine with Python and Docker

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published