Skip to content

DevBin64 is a collection devops scripts for maintaining code repositories and implementing CICD automation tasks

License

Notifications You must be signed in to change notification settings

automation64/devbin64

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

83 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

devbin64

License GitHub stars GitHub forks Release Downloads

πŸš€ DevOps Scripts for Repository Management and CI/CD Automation



πŸ“Œ Overview

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.


πŸ“¦ Deployment

Minimum Requirements

  • Bash V4: used by the scripts.
  • Curl, Tar, and GZip: used to download and unpack packages.

Installation

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

πŸš€ Usage

Deploy to code repository

  • 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

Run CI-CD tasks

./bin/dev-<TASK>-<MODULE>

Load CI-CD environment variables

Make available in the current shell the DevBin64 environment variables:

source ./bin/dev-set

πŸ—οΈ Architecture

Repository Directory Structure

The 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.

Configuration Files

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.

Standard module tasks

Modules can implement one or more of the following CI-CD tasks:

  • build: build application from source code
  • cli: run dev-time CLI tool
  • deliver: deliver application package
  • deploy: deploy application package to environment
  • env: define module shell environment variables and functions
  • lab: run dev-time container
  • lib: download dev-time tools
  • lint: lint source code
  • pack: prepare application for distribution
  • prep: run dev-time source code maintenance tasks (update dependency maps, etc.)
  • release: release application source code
  • remove: remove deployed application from environment
  • run: run dev-time application
  • sast: run SAST on application source code
  • sbom: create application SBOM
  • sca: run SCA on application source code
  • test: test application

Optional module content

Optional module content is available for you to manually copy to your repository:

  • /opt/devbin64/lib/<MODULE>/dot.github: GitHub Actions
  • /opt/devbin64/lib/<MODULE>/test: Code testing
  • /opt/devbin64/lib/<MODULE>/dot.devcontainer: DevContainers
  • /opt/devbin64/lib/<MODULE>/dot.<CONFIGURATION>: module specific configuration file

πŸ›  Contributing

Contributions are welcome! Help us improve by submitting issues, feature requests, or pull requests.


⚠️ Disclaimer

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.


πŸ“œ License

Installer64 is licensed under the Apache-2.0 License.


πŸ‘€ Author


🌟 If you find this project useful, consider giving it a star! ⭐

About

DevBin64 is a collection devops scripts for maintaining code repositories and implementing CICD automation tasks

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors

Languages