🚀 DevOps Scripts for Repository Management and CI/CD Automation
DevBin64 is a collection of DevOps scripts designed to simplify the maintenance of code repositories and automate CI/CD tasks. It provides a standardized approach to managing repositories and implementing routine DevOps workflows.
- Bash V4: used by the scripts.
- Curl, Tar, and GZip: used to download and unpack packages.
DevBin64 can be installed using the Installer64 tool:
curl -sL https://raw.githubusercontent.com/automation64/installer64/main/src/bootstrap | sh
sudo /opt/inst64/install-devbin64- Initialize your local git repository as usual. For example
mkdir my-repo
cd my-repo
git init- (Optional) Select CI-CD modules for your repository.
# List available modules
ls /opt/devbin64/lib
# Set selected modules
export DEV_BOOTSTRAP_MODULES='MODULE1 MODULE2 MODULEX'- Deploy DevBin64 to your repository
devbin64./bin/dev-<TASK>-<MODULE>Make available in the current shell the DevBin64 environment variables:
source ./bin/dev-setThe repository is organized as follows:
bin/: DevBin64 scripts.build/: Build artifacts and temporary files. Excluded from version control.docs/: Documentation and skeleton files for the project.etc/: Project-specific configuration files.lib/: Shared libraries and modules. Excluded from version control.logs/: Logs generated during development and CI/CD processes. Excluded from version control.src/: Source code for the project.test/: Test cases and related files.tmp/: Temporary files. Excluded from version control.var/: Variable data files.vault/: Local vault for secrets. Excluded from version control.
The repository includes the following configuration files:
.dev.env: Development environment variables..gitignore: Git ignore rules for the project..local.env: (Optional) Local environment variables.vault/.secrets.env: (Optional) Secrets environment variables.dot.*: Configuration file templates.
Modules can implement one or more of the following CI-CD tasks:
build: build application from source codecli: run dev-time CLI tooldeploy: deploy application package to environmentenv: module shell environment definitionslab: run dev-time lab environmentlib: download dev-time toolslint: lint source codepack: prepare application for distributionprep: run dev-time source code maintenance tasks (update dependency maps, etc.)release: release application source coderemove: remove deployed application from environmentsast: run SAST on application source codetest: test application
Additional module boilerplates are available in the DevBin64 for adding to your repository:
/opt/devbin64/lib/<MODULE>/.github: GitHub Actions/opt/devbin64/lib/<MODULE>/test: Code testing/opt/devbin64/lib/<MODULE>/.devcontainer: DevContainers/opt/devbin64/lib/<MODULE>/<CONFIGURATION>: module specific configuration file
Contributions are welcome! Help us improve by submitting issues, feature requests, or pull requests.
This repository is provided "as is" without any warranties. The author is not responsible for any damages or issues arising from its use. Additionally, this project is not affiliated with or endorsed by any organization or entity. Use at your own risk.
Installer64 is licensed under the Apache-2.0 License.
🌟 If you find this project useful, consider giving it a star! ⭐