Skip to content

assemblyline/assemblyline-firefox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Assemblyline

Chrome Extension

The assemblyline chrome extension is built to enable a workflow where applications built using Assemblyline can be deployed from within the github web interface.

This is enabled by adding 2 missing features to the github web interface.

Deploy Button

Where a commit has passing commit statuses, and url for a docker image is available in the target_url field of a commit status with the assemblyline/build context, UI is provided to request a deployment via the deployments api

This UI shows the url of the docker image, and allows the user to choose the environment (i.e. kubernetes namespace to deploy the application to) and a description of the deployment (defaulted to the current commit message) As this UI is only coupled to the github deployments API, it is possible to experiment with different tools that will actually make the deployment happen. A deployment tool that will be configured using Assemblyfile is in development.

Deploy Statuses

The extension also provides an overview (and detailed info) about the status of active and historical deployments to each environment. This allows deployment tools to provide feedback to the user via the deployments api. The environment_url and log_url fields are also exposed to the user, in order that a deployment tool can where appropriate provide a link to the deployed application as well as a link to an interface where log and diagnostic information could be provided.

Instalation and Setup

The extension can be installed from the chrome web store.

Once installed you will need to create a github personal access token so that the extension is able to connect to the github api. Currently the extension only needs access to the repo:status and repo_deployment scopes, it is good practice to only give the extension access to these scopes.

Once you have created your access token, visit the chrome extensions settings page and click on the options link in the Assemblyline extension. There you will be able to configure the token used by the extension.

Development

The extension is built with webpack. Dependencies are managed with yarn.

To build a zip file ready to upload to the chrome webstore do this:

yarn install
yarn run build

If you want to hack on the code:

yarn install
yarn run watch

Then visit chrome extensions settings page and click on "Load unpacked extension..." and navigate to the build directory. Webpack will rebuild whenever you change a file, but you must reload the extension in the chrome extensions settings page before your changes will take effect in the browser.

TODO

  • Testing
  • More modular and decoupled code
  • Look into using React
  • Add any features that are required once the deployment tool is completed

LICENSE

This code is licensed under an MIT licence. If causes you any difficulty in using the code, let us know as we are happy to add any (reasonable) licence as required.

Contributing

  • Contributions are very welcome, and we will do everything we can to help you do so.
  • This project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
  • Here are things you can do to help:
    • Open An Issue.
    • Add a feature.
    • Make the code better.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •