CIKit - Ansible-based system that ships as an extensible package and allow building continuous integration and/or local environments for software development.
- Need a VM for local development (JS, NodeJS, Java, PHP, Composer, Solr, Memcache, Selenium, Python, MySQL, MSSQL, Ruby etc.)? Not a problem -
cikit init --project=test && cd test && vagrant up.
- Wanna replicate a local (VM) environment on continuous integration server? Not a problem.
- Need a park for CI servers? Not a big deal.
Currently based on Ubuntu 16.04 LTS (64 bit).
End of life
I'm glad to say CIKit has reached its end of usefulness. Now I have one project less for active development and that's great since we all got a single life (please contact me if you know how to get more) that shouldn't be spent all in work.
Nowadays, Docker and Kubernetees are fairly easier than any existing software for building development environments and that's what I suggest you to chose for new projects. Check out the simple presentation of why you should try to avoid using CIKit, DrupalVM, Lando, DDEV, Docksal, etc. - https://docs.google.com/presentation/d/e/2PACX-1vTxP0DG2gNXChfz7DOncwiWOHG0C4eEDL1LqxaMYpjNLRcrIAKuUjBKvU1pKCBig6mxFxYrq_LneGi0/pub?start=false&loop=false&delayms=15000
Nevertheless, I'm still here for doing any necessary bugfixes, consulting and even accepting new features from third-parties.
- Install CIKit package just once. This guarantees your minimal involvement in keeping the codebase up to date. Run
cikit self-updateand enjoy latest fixes/features that are picked up by every project.
- Build the project by the scenario you want via Pull Requests on Github (Jenkins CI) or Gitlab CI.
- Create and maintain a hosting of continuous integration servers (Docker) via command line tool.
- Deploy a local environment for development on Windows 10, Linux or macOS with automatic IP allocation for local VPN and smart provisioner that remembers the configuration of an environment you've built and allows sharing it with others.
- Deploy CI server to whatever cloud hosting you prefer.
- Base any framework or CMS on CIKit and build your own CI workflow if necessary.
- Choose the software and versions that are needed for you. Nginx or Apache, various PHP/Solr/Ruby/Node.js versions, MySQL as a standard server and Microsoft SQL by desire, Phantom.js, Selenium and a lot of tools for providing code quality - all these stuff just out of the box.
- Extend the software base of a project by writing own Ansible roles for controlling the process.
- Hosts manager
- Define a connection to a server via command line.
- Hosts matrices
- CI server
- Virtual machine
- Automatic IP allocation. You're no longer care about changing the IP for every new VM.
- User interaction. You'll be asked what to install during provisioning the machine.
- Shippable environment configuration. Once created - everywhere updated.
- Selenium 2.x grid: a hub in VM and node on your host.