Git Product home page Git Product logo

photon-ci / photon Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 5.0 5.44 MB

An open-source .NET task platform designed for pipeline-as-code automation.

Home Page: http://photon.ci

License: GNU General Public License v3.0

C# 63.43% HTML 12.89% Groovy 0.06% Batchfile 0.12% JavaScript 18.73% CSS 4.67% PowerShell 0.01% Shell 0.09%
automation pipelines-as-code build deploy test pipeline photon continuous-integration continuous-delivery continuous-testing

photon's People

Contributors

brhoten avatar null511 avatar photonagent avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

photon's Issues

Push Security Configuration to Agents

Implement a feature in the Photon.Server application to allow pushing the current security configuration to all attached agents. This allows users to define security configurations one time, and not have to apply settings to each agent individually.

CLI application

A command-line interface application is required for executing tasks.

  • Build (project, ref, script)
  • Deploy (project, version, script)
  • Package
    • Pack (in?, out, version)
    • Unpack (file, out)

Archive Management

Add features for managing the archive of build and deployment artifacts. Items should be removed after a specified time-to-live.

Package Links on Build Summary

Convert the Package ID text on the Build Summary page to hyperlinks that link directly to the package for downloading. If/when a package summary page is created, then the link can be directed there instead.

No readme

This project has no readme file describing its purpose or how to use it.

Agent Applications UI

Add interface for viewing and managing installed Applications to the Agent web interface.

Config File Monitoring

Add file monitoring to Agent and Server configuration files to allow settings to be modified at runtime without restarting the services.

Environment Grouping

A feature is required for grouping agents by environment, where environment refers to a collection of servers/agents that define an application. Ex: QA, Model, Production

Missing License

Include LICENSE file. Type of license needs to be determined, currently GNU GPv3.

Agent Web UI

A web user interface needs to be designed and developed for the Photon.Agent application. The initial implementation should include:

  • Dashboard
  • Build History
  • Deployment History

The Agent application uses PiServerLite for it's HTTP web interface.

Package file pattern matching

This is not currently implemented. The goal is to support a syntax similar to NuGet's nuspec files:

  • ** - Match any directory name.
  • * - Match any range of filename characters.

Ex:
The filter bin\Debug\**\*.dll should match all *.dll files in any directory under bin\Debug

GitHub Status integration

Integrate Photon with GitHub status updates. This includes a webhook for triggering a project-defined hookTask (BuildTask). The application should send commit status updates to GitHub notifying that the task is 'In Progress', 'Successful', 'Failed', or 'Cancelled'.

Package Management

A package system needs to be implemented for creating, storing, and unpacking Project and Application packages.

Disable Command Echo

Add option to IDomainContext.RunCommand() method to disable the printing of the command that is being executed.

  • Avoids output clutter.
  • Prevent secure information from being logged.
  • Reduces duplication of information.

GitHub Webhooks

Several extra builds are occurring because the type of push event is not being considered. The request payload must be inspected for the deleted (bool) property.

Agent Worker App

Replace current Application Domain functionality with a separate worker application. This will require migrating current remoting communication between Agent and user-process to use Photon.Communication library. This will also allow the future migration to .NET core, which does not support separate Application Domains.

Integrated JSON checks

Add features to verify JSON data after submitting. This may include:

  • Verifying relational object ID's.
  • Verify agent connectivity.
  • Ping endpoints to verify accessibility.
  • ...

Server Web UI

A web user interface needs to be designed and developed for the Photon.Server application. The initial implementation should include:

  • Dashboard
  • Build History
  • Deployment History
  • View/Download Build/Deploy Artifacts

The Server application uses PiServerLite for it's HTTP web interface.

Live Agent Status Updates

Add features to Agent index page to show the connection/busy status of agents. Currently, only a static green checkbox is shown.

[TCP] Binary Messages and Packet Distrubution

The TCP messaging system requires support for file/binary transfers, so that packages can be deployed to agents and artifacts can be collected by the server. This will also require a 'packet distribution' mechanism to prevent file transfers from blocking short messages.

Excluding Package Files

The exclusion filters for creating packages have not been implemented, at all. This should be fixed before the initial release.

Add Git command-line option

Add an option for using Git from the command-line rather than the integrated NuGet.Core assembly. This should allow git commands to be used on ARM and Linux x32 platforms, or any platform not supported directly by libgit2.

New Project locks Builds

Creating a new project is resetting the 'load-complete' lock and causing no builds to be shown until restart. Requires investigation.

Deployment Artifacts

Add support for collecting user defined artifacts from the server and agent deploy workspace, and copying them to the server for archival.

Pre-Build Templates

Add a collection of scripts to the repository for public use as Pre-Build Command templates.

Automated Agent Updates

The server application should include a feature for performing an automated update of any and all defined agents.

XML Transformations (XDT)

Add utility classes to framework library for working with XML transformations, using the same XDT specification that Visual Studio uses.

Build Artifacts

Add support for collecting user defined artifacts from the agent build workspace, and copying them to the server for archival.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.