Skip to content

studiowebux/1b2i1c

Repository files navigation

Project Logo

1 Button 2 Inputs 1 Configuration

A simple and configurable UI to Start and Update CodePipeline and/or Github Actions.

This application uses a simple configuration file in JSON, it gives you control of your pipelines and show statuses, general information and more !

Report Bug · Request Feature


Table of Contents
  1. About
  2. Installation
  3. Usage
  4. Changelog
  5. Contributing
  6. License
  7. Contact

About

  • Supports Github Actions through Workflow Dispatch (workflow_dispatch)
  • Supports AWS CodePipeline using AWS SDK v3
  • Uses a JSON format to configure your pipelines
  • Uses your credentials to interact with pipelines
  • Let you deploy specific branch
  • Provide an easy way to share pipeline configurations to different team
  • Give more control to developers and avoid the hassle to go in the Github or AWS UI
  • Quickly deploy a branch to a specific environment
  • See what is where with two clicks

Installation

Prerequisites:

Go to https://tauri.app/v1/guides/getting-started/prerequisites to install Rust

Then you can start the project locally:

npm install

npm run tauri dev

To build the application and share it:

npm run tauri build
# OR to build MacOS universal
rustup target add x86_64-apple-darwin
npx tauri build --target universal-apple-darwin

You can also get the latest build in the releases section.

Enjoy !


Usage

  1. Create your configuration
nano ~/onebtwoionec.config.json
{
  "authentication": {
    "github": {
      "api_key": "YOUR_PERSONAL_GITHUB_API_KEY"
    }
  },
  "pipelines": [
    {
      "friendlyName": "AWS ra-demo-repo-private",
      "pipeline": "test",
      "profile": "deployment",
      "region": "ca-central-1",
      "codePipelineActionName": "Source",
      "type": "codepipeline"
    },
    {
      "friendlyName": "GH ra-demo-repo-private",
      "workflow_id": "backend.yml",
      "repository": "ra-demo-repo-private",
      "owner": "yet-another-tool",
      "inputs": {},
      "type": "github"
    }
  ]
}
  1. Then setup your AWS credentials as usual (I only tested the assume role using IAM user and role).

    Required only if you are using AWS CodePipeline

  2. When using Github Actions, you MUST provide the branch name manually (aka ref)

  3. Finally open the application.

Application V1.2.0

Github Action Example with the workflow_dispatch approach: backend.yml


Github Actions permissions

Full Control: Repo
Workflow

Changelog

Todo

  • [] Autofill branch name in the pipeline.
  • [] Real time and notification events.

V1.5.2 - Rollback

  • Rollback github octokit CDN
### V1.5.1 - Third Party dependency issue
  • Fixed github octokit CDN
### V1.5.0 - Added more details for github actions workflows - 2023-05-05
  • Added github workflow information
  • Added github inputs
Github Information
### V1.4.2 - Moved code to Vuex (#12) - 2023-01-15
  • Implemented Vuex
  • Split into smaller components
  • Implemented views
  • Code Cleanup
### V1.4.1 - Improved UX and Flow for the detect changes toggle (#14) - 2023-01-15
  • Moved the detect changes logic, isolated it to update the pipeline only
Detect Changes UX
### V1.4.0 - Added new Features (#7 and #8) - 2023-01-08
  • The Commit ID is clickable (Only github is supported for now.)
  • You can toggle the "Detect Changes" for codepipeline directly
  • You can fetch and see all the details about the pipeline
CodePipeline Commit Link Clickable CodePipeline Detect Changes CodePipeline Get More Information about pipeline
### V1.3.0 - Improved Error/Success for the CodePipeline Source Action - 2023-01-04
  • This way it can guide you and avoid using the AWS UI and see quickly what is wrong with the source.
CodePipeline Source Error Handling CodePipeline Source Success
### V1.2.0 - Added Github Actions - 2022-10-05
  • Tested the whole Github Action Flow
  • Tested on different systems (MacOS X64, M1 and Windows thanks @maxeber)
  • Reviewed and improved UI
  • Fixed bugs when CodePipeline response is not defined
  • Fixed time ago integration
### V1.1.0 - Added Github Actions - 2022-10-01
  • Start Github Actions using the workflow_dispatch
  • Added Github Personal Access Token
  • Reworked the configuration file to implement multi providers
  • Revamp the code structure
  • Added Github Actions example
### V1.0.0 - CodePipeline - 2022-09-30
  • Start CodePipeline
  • Update CodePipeline Source Branch Name

Contributing

  1. Create a Feature Branch
  2. Commit your changes
  3. Push your changes
  4. Create a PR
Working with your local branch

Branch Checkout:

git checkout -b <feature|fix|release|chore|hotfix>/prefix-name

Your branch name must starts with [feature|fix|release|chore|hotfix] and use a / before the name; Use hyphens as separator; The prefix correspond to your Kanban tool id (e.g. abc-123)

Keep your branch synced:

git fetch origin
git rebase origin/master

Commit your changes:

git add .
git commit -m "<feat|ci|test|docs|build|chore|style|refactor|perf|BREAKING CHANGE>: commit message"

Follow this convention commitlint for your commit message structure

Push your changes:

git push origin <feature|fix|release|chore|hotfix>/prefix-name

Examples:

git checkout -b release/v1.15.5
git checkout -b feature/abc-123-something-awesome
git checkout -b hotfix/abc-432-something-bad-to-fix
git commit -m "docs: added awesome documentation"
git commit -m "feat: added new feature"
git commit -m "test: added tests"

License

Distributed under the MIT License. See LICENSE for more information.

Contact


| Buy Me A Coffee | Webux Logo Webux Lab |