/\
/ \
/ \
/______\
|________| ____ ___ ____ _ _______ _____ _____ _____ ____
| | | _ \ / _ \ / ___| |/ / ____|_ _| ____| ____| _ \
/| || |\ | |_) | | | | | | ' /| _| | | | _| | _| | |_) |
/ | || | \ | _ <| |_| | |___| . \| |___ | | | |___| |___| _ <
/ | || | \ |_| \_\___/ \____|_|\_\_____| |_| |_____|_____|_| \_\
/___|:::||:::|___\
|::::::::|
\::::::/
||__||
||
Rocketeer supercharges Visual Studio Code to facilitate the development process by regrouping multiple services into one. Basically, an all-in-one tool on steroids.
⚠️ IMPORTANT NOTE
For security reasons, the URLs of the APIs used in this extension cannot be exposed to the public - they need to be set as environment variables.
To do so, follow these simple steps:
- Add the environment variables from the ENVIRONMENT_VARIABLES file (found in the Gitlab repository: daniel.lapides/af-rocketeer).
- Re-launch Visual Studio Code
Rocketeer
Rocketeer is an extension for Visual Studio Code created, developed and maintained by Daniel Lapides.
Rocketeer is a powerful and feature-rich tool that joins together multiple services into one. Spend more time on what's really important - Build a service and update a namespace by the click of a button.
Rocketeer simply helps you with all the development process all the way to the deployment phase. Quickly manage your namespaces - create or update an existing one - and get a glimpse of all the services, resources and configuration.
Features
MANAGE NAMESPACES
Get full control on your namespaces directly from VS Code.
Create, update, delete, (un)lock namespaces and many more.
Get real-time status of each of the services and resources in your namespace and act on them as you please - change branch, restart service.
The namespaces added in a workspace are per branch.
This gives you the power to work on multiple features and to deploy them to different namespaces all at the same time, just by switching branches.
MANAGE JENKINS BUILD JOBS
Quickly build your service from the VS Code command palette.
Create, trigger, abort a build job.
Follow its progression and get notified when it's done.
Rocketeer also allows you to see the current build logs as it is running or the last build logs.
TESTINGS MADE EASIER
Testings made easier with this cool feature.
Manage test data and use it to test your feature - test users, test credit cards, test apps, whatever you need to save, just save it.
The data is sorted into categories.
Another colleague needs your data? Share it, the whole data storage, category, or single item.
Test users is a special category with special abilities.
You will be able to impersonate any user under this category, directly from VS Code.
If a test user does not exist, create it - Rocketeer will take you right where you need to be.
Stop creating over and over users - re-use them!
ROCKETEER'S OUTPUT CHANNEL
Rocketeer has its own output channel where all of your actions are logged.
Missed a message or stuck somewhere during a flow? Check that output channel, it contains useful insights.
Powerful flows
💡 PRO TIP
Information alerts are stored in the bell, at the bottom right corner of the Visual Studio Code window.
During a flow, if you are stuck because an alert disappeared, just check that bell.
BUILD & UPDATE
Remove the headache. Build your service and update your namespace in just one click, from the command palette, the editor title or directly from the Mac touch bar.
Get notified when the whole flow is done and stop wasting time sitting in front of your build logs, hoping it will be over soon before you can deploy.
Once the build is done, the new version will be automatically pushed to the namespace you have selected.
BUILD A BRANCH
The Build a Branch flow will trigger your build job.
If it does not exist, it will first create it automatically.
Follow your build process by checking its logs right from Visual Studio Code.
No need to go through all that flow manually anymore.
A NAMESPACE PER BRANCH / A BUILD JOB PER BRANCH
The namespace you have in your workspace is per branch. Which means you can switch branch and set another namespace for it. This is specifically needful when you are working on multiple projects on the same service.
Build jobs work the same. You can trigger a build for a branch that will be deployed on the defined namespace for that branch. And then, switch to another branch and trigger another build - at the same time.
And let Rocketeer take care of the rest.
All commands
FROM THE COMMAND PALETTE
Search for Rocketeer
in the command palette and you will see all the available commands there.
Command |
Description |
af-rocketeer.namespace.create |
Create Namespace Creates a namespace from an existing one (of the user's choosing). If the current service is not present there, will offer to add its configuration to the new namespace. |
af-rocketeer.namespace.update |
Update Namespace Updates the namespace in the workspace. If none, prompts the namespace list - namespace creation is possible. |
af-rocketeer.namespace.update.oneTime |
Update Namespace (One Time) Same as above but will not use the namespace in the workspace. Instead, will prompt the namespace list - namespace creation is possible. |
af-rocketeer.namespace.addToWorkspace |
Add/Change Namespace to Workspace Adds or changes a namespace in the current VS Code workspace. |
af-rocketeer.namespace.removeFromWorkspace |
Remove Namespace from Workspace Remove the namespace from the current VS Code workspace. |
af-rocketeer.build.create |
Create Build for Branch Creates a build job in Jenkins of the current service's branch. |
af-rocketeer.build.build |
Build Branch Builds the branch in Jenkins. |
af-rocketeer.build.build-update |
Build & Update Builds the branch in Jenkins and updates the namespace. |
af-rocketeer.namespace.update.makePublic |
Make Namespace Public Changes the externalCname configuration to be true . The public CNAME will be displayed in the view. |
af-rocketeer.namespace.goTo.build |
Open Build in Jenkins Open the Jenkins build in the browser. |
af-rocketeer.namespace.goTo.hq |
Open Namespace in Browser Opens the namespace in the browser. |
af-rocketeer.namespace.goTo.hq.impersonate |
Open Namespace in Browser & Impersonate... Redirects to the namespace in the browser and impersonate a selected user. |
af-rocketeer.data-storage.copyAll |
Copy All Items from Data Storage Copies all the items present in the Data Storage as a JSON string. |
af-rocketeer.namespace.config.globalEnvVars.add |
Add Global Environment Variable to Namespace Adds a global environment variable to the namespace's globalEnvVariables object. |
af-rocketeer.git.goTo.repo |
Open Git Repository Opens the git repository in the browser. |
af-rocketeer.git.mergeRequest.create |
Create Merge Request Opens the merge request to master in the browser. |
FROM THE VIEWS
Namespace Management
Command |
Description |
af-rocketeer.namespace.status.autoRefresh |
Auto-Refresh Namespace Turns on the auto-refresh mechanism that will run every 5 seconds for 5 minutes. |
af-rocketeer.namespace.update.serviceBranch |
Change Branch Changes a namespace service branch to another selected branch. |
af-rocketeer.namespace.restart.service |
Restart Service Restarts the selected service. |
af-rocketeer.namespace.config.copy |
Copy Configuration Value Copies the selected configuration value. |
af-rocketeer.namespace.config.modifyOne |
Change Configuration Value Changes the selected configuration value to another desired one. |
af-rocketeer.namespace.config.copy.all |
Copy Namespace Configuration Copies the current namespace JSON configuration. |
af-rocketeer.namespace.config.copy.service |
Copy Service Configuration Copies the selected service JSON configuration. |
af-rocketeer.namespace.logs.service.std |
See Service Stdout / Stderr Displays the selected service's stdout and stderr logs. |
af-rocketeer.build.logs |
See Last Build Logs Displays the last/current Jenkins build logs. |
af-rocketeer.namespace.config.globalEnvVars.modifyOne |
Change Global Environment Variable of Namespace Modifies the select global environment variable value. |
af-rocketeer.namespace.config.service.envVars.add |
Add Environment Variable to Service Adds an environment variable to a namespace's service. |
af-rocketeer.namespace.config.service.envVars.modifyOne |
Change Environment Variable of Service Modifies an environment variable of a namespace's service. |
af-rocketeer.namespace.config.createFile |
Create Configuration File Creates a configuration file for a service under the .af-rocketeer folder. |
Data Storage
Command |
Description |
af-rocketeer.data-storage.add.category |
Add Category to Data Storage Add a new category to the Data Storage. |
af-rocketeer.data-storage.add.item |
Add Item to Data Storage Adds a new item to the Data Storage, under an existing category. |
af-rocketeer.data-storage.add.test-user |
Add Test User to Data Storage Adds a new test user to the Data Storage, under the Test Users category. |
af-rocketeer.data-storage.get.test-user |
Get Test Users from Data Storage Gets all the test users from the Data Storage. |
af-rocketeer.data-storage.remove |
Delete from Data Storage Deletes an item or category from the Data Storage. |
af-rocketeer.data-storage.flush |
Flush Data Storage Deletes all items from the Data Storage. |
af-rocketeer.data-storage.copy |
Copy Data Storage Item Copies an item or category items from the Data Storage. |
af-rocketeer.data-storage.copyAll |
Copy All Items from Data Storage Copies all categories and items from the Data Storage. |
af-rocketeer.data-storage.refresh |
Refresh Data Storage Refreshes the data in the Data Storage. |
Hit me up @daniel.lapides 😊
Enjoy!