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 !
Table of Contents
- 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
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 !
- 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"
}
]
}
-
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
-
When using Github Actions, you MUST provide the branch name manually (aka
ref
) -
Finally open the application.
Github Action Example with the workflow_dispatch
approach: backend.yml
Full Control: Repo
Workflow
- [] Autofill branch name in the pipeline.
- [] Real time and notification events.
- 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
### 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
### 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
### 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.
### 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
- Create a Feature Branch
- Commit your changes
- Push your changes
- 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"
Distributed under the MIT License. See LICENSE for more information.
- Tommy Gingras @ tommy@studiowebux.com | Studio Webux