l7r7 / gitlab-ci-build-statuses Goto Github PK
View Code? Open in Web Editor NEWGet the statuses of the CI pipelines in a group in Gitlab CI and display them on an HTML page
License: Apache License 2.0
Get the statuses of the CI pipelines in a group in Gitlab CI and display them on an HTML page
License: Apache License 2.0
The executable doesn't seem to be the problem (it works without the docker container)
Right now, the build statuses that are shown represent the status of the latest pipeline of the master branch.
This should be more flexible. The simplest way to do that is probably to take the project's default branch (which is included in the API response for a single project) for determining the pipeline status
For example, if the Group ID is set, but can't be read, the error will say that the group ID is missing. This should be improved
The app is updating the build statuses in a separate thread than the thread the HTTP service is served from.
Since the health
endpoint will always return 200 OK
, the app appears to be healthy as long as the web server is up and running. This means that if the thread for updating the statuses dies for some reason, the app will keep running with stale information.
To reflect this, the app should indicate that something is wrong when any of the threads are not running anymore
Right now the UI is everything but fancy, but with my limited CSS skills it was the only way I found that fulfills all my requirements.
Currently, I don't know if it really makes sense to invest time on this, but it seems to be a hot topic these days
At the moment, the CI pipeline builds an image for every push to master. I think it would make sense to introduce a proper release cycle, where:
latest
This is probably related to #5
At the moment, the app's state is stored as a tuple (Maybe UTCTime, [Result])
inside an IORef
, where:
The timestamp is wrapped inside a Maybe
to reflect that there might be no successful update yet, in which case the list of results should be empty. Although this hasn't too much impact, the invariant could be encoded more clearly: If there was no update yet, there is neither an timestamp nor a list of results.
The UI also should indicate whether there was no successful update yet or whether the are no results
The docker-compose example uses network_mode: host multiple times and the different applications want to bind to all kinds of ports then. In an environment that already has many containers running this can produce many conflicts. It would be better if it was setup with docker networks and only had to use host ports which are actually required (e.g. the 8282 port binding for the actual app.)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.